Articles of android gradle

Android库JAR是否依赖于Android库AAR?

我有一个Android库项目FooLib 。 FooLib引用了像Android Context的东西,但不需要任何资源文件( res/东西),所以我现在将它打包为一个JAR,供我的应用程序使用。 我现在想让FooLib依赖于BarLib ,但BarLib 确实使用资源,所以我不能将BarLib为JAR。 相反,它被打包成一个AAR。 我有可能让FooLib依赖于BarLib但继续将FooLib为JAR? 或者,在FooLib中有一个AAR依赖,迫使我把它变成一个AAR呢?

如何降级android studio gradle中的proguard版本?

我正在尝试使用scala和android studio来构build一个android应用程序。 在proguard编译失败,例外: Error:java.lang.ArrayIndexOutOfBoundsException: 4 at proguard.classfile.editor.InterfaceDeleter.visitSignatureAttribute(InterfaceDeleter.java:162) at proguard.classfile.attribute.SignatureAttribute.accept(SignatureAttribute.java:97) 我在另一个地方( http://sourceforge.net/p/proguard/bugs/549/ )发现这个问题是由scala中的一个bug造成的,但是它只发生在proguard 5.1中,而不是在proguard 5.0中。 现在我的问题是:我怎么能安装android studio,以便它会使用proguard 5.0?

将项目迁移到新的实验性gradle插件

我尝试将我的Android项目迁移到新的实验gradle插件。 我按照这个页面上的指示。 我对所需文件进行了更改,但是当我尝试使用Gradle文件同步项目时出现错误。 错误:无法加载类“com.android.build.gradle.managed.ProductFlavor_Impl”。 这种意外错误的可能原因包括: Gradle的依赖关系caching可能已损坏(有时发生在networking连接超时之后)。重新下载依赖项并同步项目(需要networking) Gradle构build过程(守护进程)的状态可能已损坏。 停止所有的Gradle守护进程可能会解决这个问题。 停止Gradle构build过程(需要重新启动) 您的项目可能使用与项目中的其他插件或项目请求的Gradle版本不兼容的第三方插件。 在损坏的Gradle进程的情况下,您也可以尝试closuresIDE,然后杀死所有的Java进程。 build.gradle在我的app文件夹是非常相似的,如下所示: apply plugin: 'com.android.model.application' apply plugin: 'maven' repositories { maven { url = getBaseRepository() credentials { username = NEXUS_USERNAME password = NEXUS_PASSWORD } } mavenCentral() } def int CACHE_LIMIT = CACHE_CHANGING_MODULES_FOR_SECONDS.toInteger() configurations.all { resolutionStrategy.cacheChangingModulesFor CACHE_LIMIT, 'seconds' } model { android { compileSdkVersion = 23 […]

错误:任务的执行失败,以非零的退出值1结束

错误:执行任务':onyxenrollwizardsampleapp:processDebugResources'失败。 com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'C:\ Android \ sdk \ build-tools \ 23.0.2 \ aapt.exe'零出口值1 这是我的Gradle文件。 请帮助我 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.example.onyx_enroll_wizard_sample_app" minSdkVersion 14 targetSdkVersion 23 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } lintOptions { abortOnError false } } repositories { mavenCentral() maven { url 'http://nexus.diamondfortress.com/nexus/content/repositories/releases' […]

gradlew在mergeDebugResources上build立冻结

我build立debugging应用程序使用gradlew在谷歌教程https://developer.android.com/training/basics/firstapp/running-app.html 我被创build的项目使用 android create project –target 2 -g -v 2.9–name myAppName –path ./MyAppDirectory –activity MyActivity –package com.mypackage 这是我的build.gradle文件 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' } } apply plugin: 'android' android { compileSdkVersion 'Google Inc.:Google APIs:23' buildToolsVersion '23.0.2' buildTypes { release { //runProguard false //minifyEnabled true proguardFile getDefaultProguardFile('proguard-android.txt') } } } 我构builddebugging应用程序使用命令 […]

Gradle:下载包含的aar-library的依赖关系

我写了一个库项目cameraBarcodeScanner内置到aar文件。 该库在build.gradle中定义了以下依赖项: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.google.zxing:core:3.2.1' compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar' } 我在testing应用程序中使用库如下所示: dependencies { compile(name: 'cameraBarcodeScanner-release', ext: 'aar') } Gradlefind应用程序并能够构build它。 但是,在运行时,android无法find位于zxing-android-embedded 。 在我看来,这个gradle并没有下载库项目的依赖关系。 我也试过: dependencies { compile(name: 'cameraBarcodeScanner-release', ext: 'aar'){ transitive = true } 但是这也没有帮助。 我必须以某种方式公开图书馆的依赖关系吗? 你将如何使用一个库,使gradle下载它的依赖关系? 提前致谢!

如何解决java.util.zip.ZipException重复条目:com / google / gson / annotations / Expose.class?

我已经使用fabrik插件实现twitterlogin,在设置twitter集成之后,我正面临着这个问题,有人可以build议我这有什么问题吗? 我粘贴了我的gradle和logcat。 Gradle代码 buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'com.android.application' repositories { maven { url 'https://maven.fabric.io/public' } } android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.matrix_intech.manabitas" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" multiDexEnabled true ndk { moduleName "webp" } […]

android studio项目中的projectFilesBackup文件夹为最新版本

如果我们用最新版本更新android studio并更新插件。 当我们在最新的android studio版本中打开我们旧的android studio项目时创build一个名为projectFilesBackup的文件夹。 我的问题是为什么这个文件夹创build,为什么这是为了,我们应该多久保持这个文件夹在我们的项目文件夹?

我如何获得使用Gradle的Dagger和Butterknife?

我把我的项目与Butterknife做的很好,做视图注射。 但是我需要添加Dagger才能注入依赖关系。 我添加了注释处理器工具 Gradle插件,并带有相应的Dagger要求(为简洁起见只显示了修改过的部分); buildScript { repositories { maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { … classpath 'com.jimdo.gradle:gradle-apt-plugin:0.2-SNAPSHOT' } } apply plugin: 'apt' dependencies { apt "com.squareup.dagger:dagger-compiler:${daggerVersion}" … } 现在,当我构build并运行应用程序时,用@InjectView注释标记的属性不会被Butterknife发出的以下debugging消息注入; D/ButterKnife﹕ Looking up view injector for com.example.MainActivity D/ButterKnife﹕ Not found. Trying superclass com.example.FactListAbstractActivity D/ButterKnife﹕ Not found. Trying superclass android.app.Activity

Android Gradle的DSL文档

对于Gradle,有一套可用于dsl的基础文档: http : //www.gradle.org/docs/current/dsl/ 也许我真的是盲目的,但我似乎无法find一个相当的Android的详细文档集。 🙁 任何帮助将不胜感激。 🙂