Articles of android gradle

Gradle构建失败 – 无法解压缩

我正在使用android studio进行一个项目。最近它显示了一个错误, your SDK is missing or out of date所以,我再次下载了SDK。现在它显示Gradle Build failed的错误 错误如下所述: `Error:Execution failed for task ‘:app:prepareComAndroidSupportAnimatedVectorDrawable2531Library’. > Unable to unzip ‘/home/nandha/Android/Sdk/extras/android/m2repository/com/android/support/animated-vector-drawable/25.3.1/animated-vector-drawable-25.3.1.aar’ to ‘/home/nandha/.android/build-cache/e07f150905e44f35b3635185e8f46be2d475fc86/output’ or find the cached output ‘/home/nandha/.android/build-cache/e07f150905e44f35b3635185e8f46be2d475fc86/output’ using the build cache at ‘/home/nandha/.android/build-cache’. To troubleshoot the issue or learn how to disable the build cache, go to https://d.android.com/r/tools/build-cache.html. If you are […]

用于gradle的Android DSL文档

对于gradle,可以为dsl提供一组基本文档: http : //www.gradle.org/docs/current/dsl/ 也许我只是真的失明了,但我似乎无法为Androidfind一套等效的详细文档。 🙁 任何帮助将不胜感激。 🙂

如何复制调试资产以进行unit testing

我有一个android库gradle项目。 我需要将一些文件复制到资源文件夹以进行robolectricunit testing。 要做到这一点,我已经定义了一个复制任务: task copyDebugAssets(type: Copy) { from “${projectDir}/somewhere” into “${buildDir}/intermediates/bundles/debug/assets” } 但我无法将此任务添加为processDebugResources任务的依赖项: processDebugResources.dependsOn copyDebugAssets 因为这个错误: 无法为com.android.build.gradle.LibraryExtensiontypes的对象获取未知属性’processDebugResources’。 现在我必须在unit testing之前手动执行此任务: ./gradlew clean copyDebugAssets test 我该如何解决?

Android multidex,UnsatisfiedLinkError – 找不到.so文件

我正在尝试在android studio中为我的multidex项目添加一些lib(.jar和.so)。 当我只为项目添加几个jar子时一切正常。 如果我添加越来越多的jar子(其他库)我收到此错误: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.test.digital.ocrtest-2/base.apk”],nativeLibraryDirectories=[/data/app/com.test.digital.ocrtest-2/lib/arm, /data/app/com.test.digital.ocrtest-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]] couldn’t find “libScanovatePassportAndIDLSDK_CPP.so” 任何想法如何告诉编译器生成jar等同样的dex?

更新到0.6.0版后的Android Studio Gradle问题

自从我将Android Studio更新到版本0.6.0后,我面临Gradle Sync的以下问题: 关于Google+和Google adt-dev小组的讨论表明,新的Manifest Merger会自动启用此问题。 讨论和解决方案在两个平台上都不太清楚,尽管我确实尝试添加android { useOldManifestMerger true; } 如build.gradle中所示,但我仍然收到此错误。 PS:我们正在使用RoboGuice并怀疑它可能是兼容性问题。 这是日志: 2014-06-09 11:07:35,927 [ 171888] WARN – nal.AbstractExternalSystemTask – Cause: com.android.builder.BuilderConstants com.intellij.openapi.externalSystem.model.ExternalSystemException: Cause: com.android.builder.BuilderConstants at org.jetbrains.plugins.gradle.service.project.AbstractProjectImportErrorHandler.createUserFriendlyError(AbstractProjectImportErrorHandler.java:106) at org.jetbrains.plugins.gradle.service.project.BaseProjectImportErrorHandler.getUserFriendlyError(BaseProjectImportErrorHandler.java:153) at org.jetbrains.plugins.gradle.service.project.BaseGradleProjectResolverExtension.getUserFriendlyError(BaseGradleProjectResolverExtension.java:352) at com.android.tools.idea.gradle.project.AndroidGradleProjectResolver.getUserFriendlyError(AndroidGradleProjectResolver.java:334) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:364) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:330) at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:203) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:116) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:64) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:41) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49) […]

将FindBugs更新到3.0.1后编译Android项目时出错

在更新了Findbugs插件高达3.0.1版本后,我无法在Android Studio中编译多模块项目。 我还使用”com.google.code.findbugs:annotations:3.0.1″依赖项来使用FindBugs注释(例如@SuppressFBWarnings )。 组装项目时出现以下错误: Execution failed for task ‘:presentation:packageAllDevelopDebugClassesForMultiDex’. > java.util.zip.ZipException: duplicate entry: javax/annotation/CheckForNull.class 我该如何解决?

Android gradle测试框架:单一类

是否可以使用新的Android gradle构建框架运行单个测试类? 我有一个包含多个测试类的测试包(所有测试类都是InstrumentationTestCase类)。 我已经能够设置我的build.gradle文件来运行测试包 defaultConfig{ testPackageName “com.company.product.tests” testInstrumentationRunner “android.test.InstrumentationTestRunner” } 但有没有办法只测试该包中的一个测试用例? 否则我将使用古老的adb shell am instrument -w ……. PS我现在没有时间切换到Roboelectric,但我确实看到它现在几乎是事实上的框架。

Gradle Error:字符串索引超出范围:0

尝试使用Gradle编译Android项目并得到一个奇怪的错误。 当我运行./gradlew tasks –stacktrace 。 尝试干净的重建,回购的新鲜克隆,不同的分支,同事们能够建立aok。 寻找事物的想法检查/尝试解决这个问题。 *更新:恢复到Gradle 2.11和com.android.tools.build:gradle:2.2.0-alpha6似乎解决了这个问题。 * 这是堆栈: FAILURE: Build failed with an exception. * What went wrong: String index out of range: 0 * Try: Run with –info or –debug option to get more log output. * Exception is: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at org.gradle.internal.reflect.JavaReflectionUtil.toMethodName(JavaReflectionUtil.java:196) at org.gradle.internal.reflect.JavaReflectionUtil.writeablePropertyIfExists(JavaReflectionUtil.java:156) at […]

isMinifyEnabled()已弃用。 有什么选择?

我使用下面的代码显然根据产品口味自动生成pro guard映射文件。 buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ applicationVariants.all { variant -> if (variant.getBuildType().isMinifyEnabled()) { variant.assemble.doLast { copy { from variant.mappingFile into “${rootDir}/proguardTools” rename { String fileName -> “mapping-${variant.name}.txt” } } } } } } } 将android studio升级到3.0后,它会显示一条警告,提示isMinifyEnabled()已弃用,我无法find任何解决方案或替代此isMinifyEnabled() 。 有任何帮助提前感谢吗?

资源’attr / tint’重复值

我不知道这个错误是怎么发生的,我昨天关闭了android工作室,我关闭了电脑,今天,我打开电脑并打开了android工作室,然后在打开android工作室后很快就出现了这个错误。 我试过了什么? 使缓存无效 重命名和删除看起来像重复的文件。 删除.gradle和清除/重建项目 C:\ Users \用户joaoa.gradle \缓存\变换-1 \文件-1.1 \程序兼容性-v7-27.0.1.aar \ 70b6446a0ad42e67664086d0c5dca4d5 \ RES \值\ values.xml C:\ Users \用户joaoa \桌面\ MyPast \ MyProjects下\ project001 \应用\构建\中间体\增量\ mergeDebugResources \ merged.dir \值\ values.xml 错误:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息 错误:任务’:app:mergeDebugResources’的执行失败。 错误:java.util.concurrent.ExecutionException:com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志以获取详细信息