Articles of gradle

如何降级到旧版Gradle

我的.gradle文件夹中有一个2.4文件夹,它是gradle的版本。 我想降级到2.2.1,因为我需要使用Gradle插件1.0.1。 我已经尝试改变: distributionUrl = HTTPS://services.gradle.org/distributions/gradle-2.2.1-all.zip 但这并没有解决,我仍然使用2.4版本。 我怎么解决这个问题?

版本码是否有最大值?

我们总是需要通过一些任意数字来增加versionCode ,以便将其发布到Google Play。 该值是否有限,如果达到该值会发生什么? defaultConfig { applicationId “my.app” minSdkVersion 15 targetSdkVersion 22 versionCode 65 versionName “1.05” setProperty(“archivesBaseName”, “myapp-$versionCode”) }

无法在productFlavors中添加buildConfigField

在我的android {}部分,我尝试为免费和付费应用程序提供两种不同的构建types。 可悲的是,我得到了gradle错误: Gradle’android-Transport’项目刷新失败:构建脚本错误,找不到支持的Gradle DSL方法:’buildConfigField()’! 可能的原因可能是: – 您正在使用Gradle版本,其中方法不存在 – 您没有应用提供方法的Gradle插件 – 或者构建脚本中存在错误 这是我在gradle构建中的android {}部分: android { compileSdkVersion 19 buildToolsVersion “19.0.3” defaultConfig { minSdkVersion 10 targetSdkVersion 19 versionCode 1 versionName “1.0” } compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } buildTypes { release { runProguard true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ } debug { debuggable true runProguard false } […]

错误:解析后无法更改配置’:app:_debugAnnotationProcessor’的依赖关系

Gradle项目刷新失败 在应用程序级别添加KenBurnsView库到build.gradle之后。 当我尝试同步gradle时,它失败了。 build.gradle (app level) apply plugin: ‘com.android.application’ android { compileSdkVersion 25 buildToolsVersion “25.0.0” defaultConfig { applicationId “com.sample.ac” minSdkVersion 16 targetSdkVersion 24 versionCode 1 versionName “1.0_dev” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” jackOptions { enabled true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } repositories { jcenter() } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility […]

如何处理Android Studio构建目录中的.rawproto文件?

自升级到最新版本的gradle以来,构建目录中充满了’build / android-profile / profile-2017-03-08-15-06-35-881.rawproto’等文件。 目前这些都没有被git攻击,为了避免让它们混乱,提交它们或将它们添加到.gitignore是一个好习惯吗?

如何上传多个android档案(每个档案一个)

我正在尝试使用maven gradle插件为每个项目上传多个工件: http://www.gradle.org/docs/current/userguide/maven_plugin.html 53.6.4.1. Multiple artifacts per project Maven can only deal with one artifact per project. This is reflected in the structure of the Maven POM. We think there are many situations where it makes sense to have more than one artifact per project. In such a case you need to generate multiple POMs. […]

gradle失败,从二进制存储错误读取数据时出现问题

我有一个运行测试的gradle文件。 它没有构建任何东西。 它只有一个解压缩任务,它将gradle配置中的所有jar提取到特定目录中,然后运行Testtypes的任务。 此测试任务将testClasses目录指向上一个复制任务已将配置解压缩到的位置。 我的构建失败并显示错误消息:从二进制存储读取数据时出现问题 当我运行’gradle dependencies’时它没有显示任何错误/警告当我单独运行复制任务时,它运行得很好。 只有当我运行它失败时才会出错: > Could not resolve all dependencies for configuration ‘:testConfig’.$ > Problems reading data from Binary store in /tmp/gradle8793563212642185736.bin (exist: false)$ 我看到文件/tmp/gradle8793563212642185736.bin不存在。 这可能是什么原因?

如何使用gradle从.AAR Android库存档中排除文件

我正在尝试使用Android Studio和gradle为库Android项目创建AAR文件。 我想从此存档中排除特定的文件夹和文件,但我找不到有效的解决方案。 该项目有两种口味。 app/ |–libs/ |–src/ |–flavour1/ | |–java/ | |–a1/ | | |–class_File1.java |–flavour2/ | |–java/ | |–a1/ | | |–class_File1.java |–main/ |–java/ | |–… |–res/ | |–raw/ | | |–comments.txt | |–… |–AndroidManifest.xml 我使用像这样的build.gradle文件 apply plugin: ‘com.android.library’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { minSdkVersion 10 targetSdkVersion 21 } packagingOptions { […]

Espresso-web导入会导致duplicateFileException

我正在使用Android Espresso。 我需要espresso-web才能使用webview。 我根据谷歌网站设置了浓缩咖啡。 https://google.github.io/android-testing-support-library/downloads/index.html 我的依赖关系看起来像这样: dependencies { androidTestCompile ‘junit:junit:4.12’ androidTestCompile ‘com.squareup.spoon:spoon-client:1.1.10’ androidTestCompile ‘com.jraska:falcon-spoon-compat:0.3.1’ androidTestCompile ‘com.android.support:support-annotations:23.1.1’ androidTestCompile ‘com.android.support.test:runner:0.4.1’ androidTestCompile ‘com.android.support.test:rules:0.4.1’ androidTestCompile ‘com.android.support.test.espresso:espresso-core:2.2.1’ androidTestCompile ‘com.android.support.test.espresso:espresso-web:2.2.1’ androidTestCompile “org.mockito:mockito-core:1.10.19” androidTestCompile “com.google.dexmaker:dexmaker:1.2” androidTestCompile “com.google.dexmaker:dexmaker-mockito:1.2” } 当我评论espresso-web导入/方法并排除此lib时,测试运行。 但有了它,我得到: Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebugAndroidTest’. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/com.google.guava/guava/pom.properties File1: /Users/F1sherKK/Dev/MyProject/app/build/intermediates/exploded-aar/com.android.support.test.espresso/espresso-web/2.2.1/jars/classes.jar File2: /Users/F1sherKK/Dev/MyProject/app/build/intermediates/exploded-aar/com.android.support.test.espresso/espresso-core/2.2.1/jars/classes.jar 似乎是番石榴的一些问题。 Espress-web lib生成两个文件夹:espresso-web,espresso-core。 Espresso-core […]

使用TreeTranslator重命名不适用于Kotlin的函数

我正在尝试根据AST(抽象语法树)重写在构建期间重命名Java接口中的方法和Kotlin接口中的函数。 对于这个问题,我们忽略了重命名方法/函数给调用带来的影响。 要find要重命名的方法/函数,我正在使用自定义注释和注释处理器。 我按照这些说明操作Java接口。 我创建了一个包含三个模块的新项目。 app模块,注释模块和注释处理器模块。 app模块是一个Android应用程序,包含两个独立的Java和Kotlin接口文件,每个接口文件都有一个带注释的方法/函数。 RenameJava.java package nl.peperzaken.renametest; import nl.peperzaken.renameannotation.Rename; public interface RenameJava { @Rename void methodToRename(); } RenameKotlin.kt package nl.peperzaken.renametest import nl.peperzaken.renameannotation.Rename interface RenameKotlin { @Rename fun functionToRename() } 注释模块是一个只包含@Rename注释的Java库,我们指定只在函数上允许它,我们说它只能在源代码中可见。 Rename.kt package nl.peperzaken.renameannotation @Target(AnnotationTarget.FUNCTION) @Retention(AnnotationRetention.SOURCE) annotation class Rename 注释处理器模块是一个Java库,它只包含迭代具有注释的元素并对其进行转换的处理器。 RenameProcessor.kt package nl.peperzaken.renameprocessor import com.google.auto.service.AutoService import com.sun.source.util.Trees import com.sun.tools.javac.processing.JavacProcessingEnvironment import com.sun.tools.javac.tree.JCTree import com.sun.tools.javac.tree.TreeTranslator […]