Articles of android gradle

在使用gradle编译android库时如何禁止警告?

在我的应用程序中,我有一个由第三方开发的库,不幸的是它包含了很多lint和javac警告。 我想忽略这两种types的警告,因为它们无法由我们的团队修复,并且它们正在污染我们的构建日志。 我已经尝试将以下内容添加到库build.gradle文件中: 在android块中 lintOptions { ignoreWarnings = true } 我还在build.gradle文件的末尾添加了以下内容: afterEvaluate { tasks.withType(JavaCompile) { it.options.compilerArgs << "-Xlint:none" << "-nowarn" } } 不幸的是,每当“:compileDebugJavaWithJavac”运行时,它仍会输出此项目的警告。 我究竟做错了什么? 编辑这是完整的build.gradle文件 apply plugin: ‘com.android.library’ dependencies { compile fileTree(dir: ‘libs’, include: ‘*.jar’) } android { compileSdkVersion 21 buildToolsVersion “23.0.2” lintOptions { abortOnError false // true by default checkAllWarnings false checkReleaseBuilds false ignoreWarnings […]

Android Studio不支持的Gradle插件版本

与此处提出的问题类似: Android Studio不支持gradle版本,但我使用的是兼容版本 ,但答案并没有解决我的问题。 我正在使用在Ubuntu 14.04 LTS下运行的Android Studio Beta 0.8.1。 我正在尝试导入一个与我的团队共享的项目,但是当我克隆项目并尝试构建它时,我收到此错误: Error:The project is using an unsupported version of the Android Gradle plug-in (0.11.2) Fix plug-in version and re-import project 当我点击链接时,我收到此错误: 12:21:30 PM Quick Fix Failed Unable to find any references to the Android Gradle plug-in in build.gradle files. Please click the link to perform […]

Gradle 2.3.0-alpha1无法使用数据绑定

今天更新到Android Studo 2.3 Canary后我遇到了问题。 构建完成没有错误,但是当我运行应用程序时,gradle控制台一直显示: 找不到android.databinding.annotationprocessor.ProcessDataBinding 这是我的build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle 2.3.0-alpha1’ classpath ‘com.google.gms:google-services:3.0.0’ classpath ‘com.android.databinding:dataBinder:1.0-rc1’ classpath ‘me.tatarka:gradle-retrolambda:3.3.1’ classpath ‘me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2’ classpath ‘com.neenbedankt.gradle.plugins:android-apt:1.8’ // NOTE: Do not place your application dependencies here; they belong // […]

如何使用gradle动态切换/更改testInstrumentationRunner

我的项目有两组不同的测试。 一个组仅使用默认的AndroidJUnitRunner运行,另一个组必须使用自定义实现运行TestRunner extends MonitoringInstrumentation 。 目前,每次我需要运行另一组测试时,我testInstrumentationRunner通过编辑testInstrumentationRunner来切换testInstrumentationRunner : android{ defaultConfig { //testInstrumentationRunner “my.custom.TestRunner” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } } 我知道口味可以有自己的testInstrumentationRunner但我当前的应用程序已经有2个flavourDimensions 。 使用flavor实际上是为了拥有不同版本的app。 我需要2个版本的测试应用程序,它们都使用不同的testInstrumentationRunner测试相同的应用程序。 我尝试通过迭代所有测试变体来更改testInstrumentationRunner 。 实际上有多个testInstrumentationRunner属性: android.testVariants.all { TestVariant variant -> //readonly variant.variantData.variantConfiguration.instrumentationRunner variant.variantData.variantConfiguration.defaultConfig.testInstrumentationRunner } 但是一旦调用了android.testVariants ,就会配置构建并且所有更改都不会反映在构建中。 如何动态更改testInstrumentationRunner(从gradle插件)? 我更喜欢有两个不同的gradle任务,每个任务使用不同的testInstrumentationRunner但测试相同的变体。 因为我打算创建一个gradle插件,所以解决方案也应该像插件一样工作。

proguard-android.txt和proguard-rules.pro有什么区别? – Android

在我的buildType我看到了这个: buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } 我有一些疑问: 为什么有两个文件? 它们之间有什么区别? 我应该在哪里写我的规则?

Android – 使用Dex进行调试的类转换

我的项目工作正常,直到我添加了Facebook依赖项。 我开始收到此错误。 我读了很多问题,问题似乎与MultiDex有关。 但这些解决方案都不适合我 Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘/usr/lib/jvm/java-7-openjdk-amd64/bin/java” finished with non-zero exit value 1 即使在我删除了我添加的内容之后,它仍然显示并且gradle似乎在构建时比平常花费了大量时间 这是我的build.gradle apply plugin: ‘com.android.application’ android { compileSdkVersion 23 buildToolsVersion “23.0.3” defaultConfig { applicationId “net.ciblo.spectrodraft” minSdkVersion 15 targetSdkVersion 23 versionCode 1 multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ […]

如何修复eror app \ build \ intermediates \ res \ merged \ debug \ values-v24 \ values-v24.xml

我在构建项目时遇到错误。 错误: Error:Execution failed for task ‘:app:processDebugResources’. > com.android.ide.common.process.ProcessException: Failed to execute aapt C:\Users\MR Maleki\Desktop\WhoIsBetter2\app\build\intermediates\res\merged\debug\values-v24\values-v24.xml Error:(4) Error retrieving parent for item: No resource found that matches the given name ‘android:TextAppearance.Material.Widget.Button.Colored’. Error:(3) Error retrieving parent for item: No resource found that matches the given name ‘android:TextAppearance.Material.Widget.Button.Borderless.Colored’. Error:(3) Error retrieving parent for item: No resource found that […]

为每个Build Variant使用不同的manifestPlaceholder

我首先要说的是我对Gradle很新,所以如果已经回答,我会道歉。 我正在开发一个使用API​​密钥访问第三方工具的Android应用程序。 根据应用程序的风格和构建types ,需要使用不同的API密钥。 这是我正在尝试做的基本概述: android { defaultConfig { manifestPlaceholders = [ apiKey:”DEBUG_KEY” ] } buildTypes{ debug{ // Some debug setup } release{ // Some release setup } } productFlavors { // List of flavor options } productFlavors.all{ flavor-> if (flavor.name.equals(“someFlavor”)) { if (buildType.equals(“release”)) { manifestPlaceholders = [ apiKey:”RELEASE_KEY_1″ ] } else { manifestPlaceholders = […]

更改ndk-build输出位置

我的应用程序具有以下结构 Android | |-> app | | | |-> build [1] | |-> src | | |-> main | | | |-> assets | | | |-> java | | | |-> jni | | | | |-> Android.mk | | | | |-> Application.mk | | | | | | | |-> jniLibs | […]

Android Studio 3.0 Canary 1注释处理器错误

刚刚升级到Android Studio 3.0,之前正在编译的项目会抛出以下错误 错误:java.lang.RuntimeException:现在必须显式声明注释处理器。 发现编译类路径中的以下依赖项包含注释处理器。 请将它们添加到annotationProcessor配置中。 但是, following内容未定义。 这是我的build.gradle中的compile语句的样子 compile(‘com.crashlytics.sdk.android:crashlytics:2.6.7@aar’) { transitive = true; } compile ‘com.android.support:support-v4:25.3.1’ compile ‘com.android.support:appcompat-v7:25.3.1’ compile ‘com.android.support:design:25.3.1’ compile ‘com.squareup.retrofit2:retrofit:2.1.0’ compile ‘com.squareup.retrofit2:converter-gson:2.1.0’ compile ‘com.squareup.okhttp3:logging-interceptor:3.2.0’ compile ‘com.jakewharton.timber:timber:4.4.0’ compile ‘io.reactivex:rxandroid:1.0.1’ compile ‘io.reactivex:rxjava:1.0.14’ compile ‘com.squareup.retrofit2:adapter-rxjava:2.1.0’ compile ‘com.jpardogo.googleprogressbar:library:1.2.0’ compile ‘com.wang.avi:library:2.1.3’ compile ‘link.fls:swipestack:0.3.0’ compile ‘com.jakewharton:butterknife:8.4.0’ compile ‘com.codemybrainsout.rating:ratingdialog:1.0.7’ compile ‘org.greenrobot:greendao:3.2.0’ compile ‘com.android.support.constraint:constraint-layout:1.0.0-beta5’ testCompile ‘junit:junit:4.12’ annotationProcessor ‘com.jakewharton:butterknife-compiler:8.4.0’ provided ‘org.projectlombok:lombok:1.12.6’