Articles of gradle

Proguard – 也使用模块中的proguard文件

我的项目build.gradle如下所示: android { compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { applicationId “…” minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile project(‘:androKnife’) } 我的androKnife模块确实拥有自己的proguard文件。 如何让我的主项目也使用此文件? 如果我编译项目,有没有办法自动合并所有模块的所有proguard文件? 是否有另一种方式模块可以指定它的proguard规则,项目可以inheritance它吗?

gradle在哪里保存依赖项的jar?

我想看看添加依赖项时编译的jar / aars。 例如,如果我在Gradle中添加此依赖项,它将jar放在哪里? dependencies { compile ‘com.google.android.gms:play-services-analytics:11.0.4’ }

gradlew build和gradlew assembleRelease之间有什么区别

我想在gradle的帮助下从命令行构建apk。 我应该使用哪个命令来构建仅用于发布版本的apks?

在aar找不到的类

调用GoogleApiAvailability时,我的Android库(aar)中的类未findexception。 Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.google.android.gms.common.GoogleApiAvailability” on path: DexPathList[[zip file “/data/app/com.myunityplugin.PushNotifications-1/base.apk”],nativeLibraryDirectories=[/data/app/com.myunityplugin.PushNotifications-1/lib/arm, /vendor/lib, /system/lib]] 错误是不言自明的,但我不确定我做错了什么。 我很擅长gradle和AndroidStudio。 我的gradle.build中有以下依赖项: compile ‘com.google.android.gms:play-services:8.4.0’ compile ‘com.google.android.gms:play-services-gcm:8.4.0′ 我认为问题是播放服务库需要包含在aar中,而编译不会这样做。 我尝试使用’运行时’,但我得到“找不到gradle dsl运行时”。 问题: 这是一个我需要在我的网站中包含播放服务库的问题,我该如何实现? (如果没有,我该如何解决这个问题) 我是否需要指定播放服务或播放服务-gcm是否足够? 错误信息/设置 导致错误的行 GoogleApiAvailability ServiceAvailability = GoogleApiAvailability.getInstance(); 例外: 05-23 05:38:48.221 28055-28055/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myunityplugin.PushNotifications, PID: 28055 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/GoogleApiAvailability; at com.myplugin.unitynotification.GCM.GCM.checkPlayServices(GCM.java:33) at […]

更新Gradle依赖项后无法解决

更新后,gradle到最新的依赖项包含firebase和play服务: 配置’compile’已经过时,已被’implementation’和’api’取代。 它将在2018年底删除。有关更多信息,请参阅: http : //d.android.com/r/tools/update-dependency-configurations.html 无法解决:play-services-base Open File 无法解决:play-services-tasks打开文件 无法解决:play-services-stats打开文件 无法解决:play-services-ads-identifier打开文件 无法解决:play-services-basement Open File 的build.gradle(APP) implementation ‘com.google.firebase:firebase-messaging:17.0.0’ implementation ‘com.google.firebase:firebase-database:16.0.1’ implementation ‘com.google.android.gms:play-services-analytics:16.0.0’ implementation ‘com.google.android.gms:play-services-maps:15.0.1’ implementation ‘com.google.android.gms:play-services-auth:15.0.1’ implementation ‘com.google.android.gms:play-services-places:15.0.1’ 我该如何解决?

所有com.google.android.gms库必须使用完全相同的版本规范吗?

我在构建等级中收到以下警告消息,用于行compile ‘com.google.android.gms:play-services-analytics:9.2.0’ 。 这是什么意思? All com.google.android.gms libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 9.2.0, 8.4.0. Examples include com.google.android.gms:play-services-basement:9.2.0 and com.google.android.gms:play-services-ads:8.4.0 less… (Ctrl+F1) There are some combinations of libraries, or tools and libraries, that are incompatible, or can lead to bugs. One such incompatibility is compiling […]

无法为项目获取未知属性’repositoryUrl’

我有一个使用React-Native的项目。 我正在从源代码构建RN模块 ,因此我的项目将ReactAndroid模块作为依赖项。 我试图将项目升级到Android gradle构建工具> = 2.3.2,所以我可以使用intant-run: buildscript { repositories { jcenter() mavenLocal() maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘com.android.tools.build:gradle:2.3.2′ … } } 这一变化迫使我将gradle本身从3.1升级到3.5(最新稳定)。 构建项目会突然产生以下gradle错误 无法为org.gradle.api.Projecttypes的项目’:ReactAndroid’获取未知属性’repositoryUrl’。 有人可以帮忙吗?

Gradle版本构建仍然可以调试吗?

根据Gradle文档,“debuggable”和“release”buildType的默认值为false。 但是,无论我是否明确地将其设置为false,我的发布版本似乎总是可以调试(我可以看到logcat输出)。 我误解了这个属性吗? 有人可以解释一下吗? 这是我的build.gradle: buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.4.2’ } } apply plugin: ‘android’ dependencies { compile project(‘:facebook-android-sdk-3.0.1:facebook’) compile project(‘:google-play-services_lib’) compile project(‘:nineoldandroids’) compile project(‘:SlidingMenu-master:library’) compile project(‘:ViewPagerIndicator’) compile project(‘:volley’) compile project(‘:windowed-seek-bar’) compile files(‘compile-libs/androidannotations-2.7.1.jar’, ‘libs/Flurry_3.2.1.jar’, ‘libs/google-play-services.jar’, ‘libs/gson-2.2.4.jar’, ‘libs/picasso-1.1.1.jar’, ‘libs/crittercism_v3_0_11_sdkonly.jar’, ‘libs/gcm.jar’, ‘libs/apphance-library.jar’) } android { buildToolsVersion “17.0” compileSdkVersion 17 signingConfigs { debug […]

在Android Studio中使用Gradle添加编译时重复文件

我正在尝试将Jackson添加到我的Android Studio项目中,我将它添加到gradle中的依赖项中: dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile ‘com.android.support:appcompat-v7:19.+’ compile ‘com.android.support:support-v4:19.+’ compile files(‘libs/universal-image-loader-1.9.2.jar’) compile ‘com.google.android.gms:play-services:+’ compile ‘com.fasterxml.jackson.core:jackson-databind:2.4.3’ } Gradle构建运行正常,但是当我想在Android Studio中运行测试时,它会给我以下错误: Error:Gradle: duplicate files during packaging of APK …/app/build/outputs/apk/app-debug-unaligned.apk Error:Gradle: Execution failed for task ‘:app:packageDebug’. 在APK META-INF / LICENSE文件1中复制的重复文件:… /。gradle / caches / modules-2 / files-2.1 / com.fasterxml.jackson.core / jackson-annotations / 2.4.3 / a30ec6f59b6d31b2df06fa73925fda2fc7e84486 […]

如何在build.gradle中禁用任务

我想在运行gradle build时跳过一些任务。 我知道可以使用-x从命令行完成: gradle build -x unwantedTask 我的问题是如何在build.gradle中实现相同的结果?