Articles of android gradle

Gradle 2.2.0执行失败:SymbolForDebug

从2.1.3 – > 2.2.0升级我的项目(和附加到它的库)的gradle后,它不再构建,它说: 错误:任务’:app:transformNative_libsWithStripDebugSymbolForDebug’的执行失败。 java.lang.NullPointerException(无错误消息) 任何人都知道为什么会这样?

为什么使用multiDexEnabled(true)允许应用程序构建但不断崩溃?

我正在处理的应用程序(基本代码不是由我编写的,包含许多无法删除的大型库)。 在最近的一次运行中,它开始响应消息: 这仅在应用程序在使用运行箭头时尝试构建时发生,它在调用“rebuild”或“clean”时成功构建。 包含在线的解决方案是使用multiDexEnabled true( 此处为multiDex文档 。) 使用这个我能够使用“运行”箭头和“重建”获得建筑物。 但是,构建并在手机上运行的应用程序崩溃时出现以下错误消息: 12-11 16:17:16.963 28868-28868/? D/dalvikvm: Late-enabling CheckJNI 12-11 16:17:17.023 28868-28868/com.myname.myappcoop W/dalvikvm: VFY: unable to resolve static field 10471 (common_google_play_services_updating_text) in Lcom/google/android/gms/R$string; 12-11 16:17:17.023 28868-28868/com.myname.myappcoop D/dalvikvm: VFY: replacing opcode 0x60 at 0x0021 12-11 16:17:17.023 28868-28868/com.myname.myappcoop I/dalvikvm: DexOpt: unable to optimize static field ref 0x28e8 at 0x2e in Lcom/google/android/gms/common/GoogleApiAvailability;.zza […]

可以使用带有IntelliJ的Android Gradle Plugin 3.0.0

我试图在IntelliJ中使用插件com.android.tools.build:gradle:3.0.0-alpha4。 但我得到了错误 Error:This Gradle plugin requires Studio 3.0 minimum android gradle插件版本2.3.3支持Intellij。 我需要IntelliJ,因为我想在IDE中使用AspectJ + Java 8。 Android Studio IDE尚不支持AspectJ,仅支持gradle插件。 是否可以使用新版Android Gradle Plugin 3.0.0与IntelliJ ,而不是Android Studio? 谢谢。

更新Android L工具后构建失败

更新工具后,我无法构建我的项目。 我在Android Studio中收到此错误。 /build/exploded-aar/com.android.support/support-v4/21.0.0-rc1/AndroidManifest.xml:3]无法解析:必须是整数或代号。 有任何想法吗? 这个清单来自我认为的支持库。 我的项目还有另一个是min=14 target=19 gradle classpath’com.android.tools.build:grad:0.9。+’

资源$ NotFoundException:文件res / drawable / abc_ic_ab_back_material.xml

在解决了一个jdk零值错误后,现在我面对这一个,我做了一点研究,但似乎我不能达到这一点,这里是日志错误 FATAL EXCEPTION: main E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020013 E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2204) E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2254) E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThread.java:141) E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137) E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5069) E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) E/AndroidRuntime: at […]

gradle:Android Studioinheritancebuildtype

我有gradle(Android Studio)4种构建types android { buildTypes { release { … } debug { … } kindle { … } kindle_debug { … } } } 我知道,我的src文件夹可以为每个构建types提供一个文件夹。 所以它最终成了 src/ — debug — kindle — kindle_debug — main // used for every project — release 目前kindle与release相同, kindle_debug与debug相同。 如何避免复制src文件夹? 有没有办法从release和debuginheritance或让我自己在build.gradle文件中设置src文件夹? 编辑:一个似乎有效的解决方案是设置符号链接,但我想使用Mac OS和Windows操作系统,而不是每个新用户都希望自己设置符号链接。 编辑2:我现在使用产品口味,因此,我可以调试/发布和谷歌,亚马逊和三星。 这是我的最佳解决方案。

如何使用flavorDimensions为每个风味组合设置不同的applicationId?

我有和旧的Android应用程序,我正在尝试迁移到android gradle构建系统。 该应用程序目前内置于多项目设置中,并作为四个不同的应用程序发布(包括两个不同的数据集和两个数据集的免费/付费版本)。 我已经设法通过使用flavorDimensions(以前称为flavorGroups)来摆脱多项目设置,但我无法弄清楚如何为每种风味组合设置不同的applicationId。 由于应用程序版本已经发布,我需要保留与当前版本相同的应用程序。 由于我的原始包命名是如何完成的,我不能简单地使用flavor-buildtype与“packageNameSuffix”的组合(如果它是一个未发布的应用程序,那将是一个很好的选择)。 https://stackoverflow.com/a/20956353/4177090正在回答如何使用不同的源文件夹进行风味组合,而不是如何(如果可能的话)为构建文件中的每个组合设置特定配置。 Gradle构建文件片段: flavorDimensions “price”, “dataset” productFlavors { free { flavorDimension “price” } paid { flavorDimension “price” } dataset1 { flavorDimension “dataset” } dataset2 { flavorDimension “dataset” } } 我想在我的gradle构建文件中有类似下面的内容(请注意我的命名是如何unlogic的,这就是为什么我不能使用packageNameSuffix): freeDataset1 { applicationId “com.beansys.freeappdataset1” } freeDataset2 { applicationId “com.beansys.freedataset2” } paidDataset1 { applicationId “com.beansys.dataset1paid” } paidDataset2 { applicationId “com.beansys.mypaiddataset2” }

Android Studio插件太旧了

我正在同步很好,然后当我尝试在Android Studio的设备上运行测试时,我开始收到错误: Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable … 我环顾四周,从gradle网站上发现最新版本是2.10,我尝试将其添加到我的依赖项中,没有运气。 我尝试了各种版本号,其中包含以下各种错误: Could not find com.android.tools.build:gradle:2.1 Searched in the following locations … 我从所有的搜索中了解到它显然是一个错误版本的gradle – 但是我应该使用的当前版本标签是什么,我怎么知道它安装在我的机器上? 我一直在更新Android Studio。 所以我目前在build.gradle中: dependencies { classpath ‘com.android.tools.build:gradle:2.0.0-alpha1’ }

产品风味:find重复的类

我有一个非常愚蠢的问题,但我几小时后就坐在我的应用程序前面,但我无法理解问题所在。 我有一个Android应用程序(用kotlin编写),我想制作两种产品风格并覆盖产品风格的类/文件: 所以我的gradle脚本是这样的: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ android { … productFlavors { foo { applicationId “com.foo” } } } 我的文件结构如下: – src – androidTest – foo – java – com – example – Bar.kt – main – java – com – example – Bar.kt – test 所以基本上我想在foo产品风格中覆盖Bar.kt文件,但不知何故它不起作用:它说类Bar是重复的。 任何提示?

如何在库模块中添加.aar依赖?

我有一个库模块的.aar文件。 我想在其他项目的库模块中将它用作库或依赖项。 我该怎么做? 我尝试了以下链接提供的选项: http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/ 它只有在我的项目的应用程序模块中添加.aar引用时才有效。 但不在图书馆模块中工作。 谢谢。