Articles of android gradle

Gradle 4.0无法find匹配的configuration

我想在新的Android Studio 3.0 canary中打开我现有的项目2.我根据说明更新了Gradle,更改了依赖项configuration的名称,但是我继续得到下一个错误: Error:Could not resolve all dependencies for configuration ':bankOK:betaNewApiInnerTestRuntimeClasspath'. > Unable to find a matching configuration in project :abChat: – Configuration 'debugApiElements': – Required apiLvl 'ProductFlavorAttr{name=newApi}' but no value provided. – Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'AndroidTypeAttr{name=Aar}' and found compatible value 'AndroidTypeAttr{name=Aar}'. – Required com.android.build.gradle.internal.dependency.BuildTypeAttr 'BuildTypeAttr{name=innerTest}' and found incompatible value 'BuildTypeAttr{name=debug}'. – Found com.android.build.gradle.internal.dependency.VariantAttr 'VariantAttr{name=debug}' […]

我怎样才能使用Android的dexOptions?

什么是dexOptions.incremental等的意思任何机构可以解释给我。 dex options android { dexOptions { incremental false preDexLibraries = false jumboMode = false javaMaxHeapSize "2048M" } } This affects all tasks using dex.

Android Studio多个dex文件gradle错误

当我在Android Studio中运行Android应用程序时遇到此错误 UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta; … 这里是gradlew -q:app:dependencies的输出 +— project :shared +— com.google.api-client:google-api-client:1.19.0 | +— com.google.oauth-client:google-oauth-client:1.19.0 | | +— com.google.http-client:google-http-client:1.19.0 | | | +— com.google.code.findbugs:jsr305:1.3.9 | | | \— org.apache.httpcomponents:httpclient:4.0.1 | | | +— org.apache.httpcomponents:httpcore:4.0.1 | | | +— commons-logging:commons-logging:1.1.1 | | | \— commons-codec:commons-codec:1.3 | | \— com.google.code.findbugs:jsr305:1.3.9 […]

Android Studio中的Gradle:无法parsing第三方库

我一直试图将我的项目从Intellij切换到Android Studio,这需要我创build一个build.gradle文件。 我知道我可以添加每个这些作为一个库依赖,但我最好能够得到maven存储库依赖工作。 每次我同步,我的支持库同步正常,但对于每个第三方库,我得到了类似的东西 “错误:(30,13)无法解决:com.facebook.android:facebook-android-sdk:3.23.1” 为每个图书馆。 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.1.0' } } apply plugin: 'com.android.application' dependencies { compile fileTree(dir: 'libs', include: '*.jar') // Google Play Services compile 'com.google.android.gms:play-services:6.5.87' // Support Libraries compile 'com.android.support:appcompat-v7:22.0.0' compile 'com.android.support:cardview-v7:21.0.3' compile 'com.android.support:gridlayout-v7:21.0.3' compile 'com.android.support:mediarouter-v7:21.0.3' compile 'com.android.support:palette-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.3' compile 'com.android.support:support-annotations:21.0.3' compile 'com.android.support:support-v13:21.0.3' compile 'com.android.support:support-v4:22.0.0' […]

从“app-debug.apk”更改生成的apk名称

每次我用Android Studio(1.02)运行一个项目时,它都会生成一个未签名的apk文件,它位于.. \ build \ outputs \ apk文件夹下,默认名称为“app-debug.apk” 我想把这个默认名字改成别的东西。 可能吗? 怎么样?

Gradle:如何将Android库发布到本地存储库

我有一个库和Android应用程序使用Gradle和Android Studio。 我可以直接在项目中包含库如下 compile project(':library') 因为我不想与库源代码结合,所以我想将库发布到本地存储库中,以便可以使用as compile 'com.mygroup:library:1.0' 有什么build议吗?

Android gradle build System.getEnv(“RELEASE_PASSWORD”)返回null

我有一个问题,其中System.getenv()为环境variables返回null。 我的密码存储在RELEASE_PASSWORD环境variables中。 当我做: $ echo $RELEASE_PASSWORD 它打印出正确的值,所以我知道variables设置。 我最初设置的版本 buildType的签名configuration签名configuration。 发行 ,一切工作正常,但我需要不同的签署configuration为不同的产品口味。 如果我对密码进行了硬编码,它就像它想象的那样工作。 当我试图从一个环境variables读取密码的时候,情况就变得糟糕了。 这是一个范围问题? 这是我目前在我的build.gradle 。 android { … signingConfigs { release { storeFile …; keyAlias …; storePassword System.getenv("RELEASE_PASSWORD"); keyPassword System.getenv("RELEASE_PASSWORD"); } unsigned { keyAlias ""; storePassword ""; keyPassword ""; } } buildTypes { debug { versionNameSuffix = "-DEBUG" } release { } } flavorGroups […]

如何解决产品风味的构build错误,何时引用但不必要的源/资源未find?

我有一个项目,它有两个产品口味与自己的目录: 的build.gradle: android { … productFlavors { free { applicationId "com.sample.free" buildConfigField "boolean", "free", "true" } paid { applicationId "com.sample" buildConfigField "boolean", "free", "false" } } } 我有一个类(如PaidOperationClass ),它只用于paid味道。 所以,我把这个类放在src/paid/java目录下。 我还有另一个类(如CommonClass ),这两个类都使用它。 所以我把它放在src/main/java目录下: src/main/ –> has CommonClass src/free/ src/paid/ –> has PaidOperationClass 在CommonClass我有一个方法,如: if(!BuildConfig.FREE) { PaidOperationClass.doSomeStuff(); } 所以PaidOperationClass被引用(有一个导入),但从来没有使用免费构build。 如果我build立paid风味的应用程序,一切工作完美。 但是,如果我尝试构build它free味道,它失败,因为引用,但不必要的类没有find。 你如何解决这个没有代码(类/方法)复制(如把一个虚拟的PaidOperationClass在free味道)? 有没有任何gradle选项忽略这种构build错误,同时build设? 编辑:我需要一个gradle解决scheme,不需要代码复制。 基于注释的自定义脚本可能会在编译时删除不必要的产品风格代码。

Android Studio – 资源input已经定义

使用Android Studio(Beta)编译我的Android应用程序后,出现以下错误: Error:error: Resource entry background is already defined. res\drawable-xhdpi-v4\background.9.png:0: Originally defined here. 这发生在我的res文件夹中有一个名为“background”的图像文件。 然后我做了一个9的补丁版本,并粘贴在同一个文件夹中。 这意味着有两个同名的文件。 所以我不奇怪,我有这个错误。 不过,我现在删除了我的代码和布局文件中的背景图像文件(包括9补丁版本和原始图像)的所有实例,我仍然有这个错误。

无法在任务“android:packageDebug”上设置只读属性“jniFolders”的值。

我想在Android工作室中打开和项目,我有一段时间没有工作,但是当Android Studio尝试加载项目失败,并出现此错误消息: Error:(21, 0) Cannot set the value of read-only property 'jniFolders' on task ':android:packageDebug'. 我点击链接到build.gradle ,我想这些行是问题… // needed to add JNI shared libraries to APK when compiling on CLI tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask -> pkgTask.jniFolders = new HashSet<File>() pkgTask.jniFolders.add(new File(projectDir, 'libs')) } 我在这里看到一个答案: Google AppInvites打破构build ,说… 通过添加这个来修正: android { sourcesets { main { jniLibs.srcDir new […]