Articles of gradle

使用属性文件Gradle Android Studio签名

我正在尝试使用gradle构建文件来签署我的应用程序。 当我使用普通的signedConfigs时,它可以工作(signingConfigs.release)! 但是,如果我试图从属性文件中读取属性,它将无法工作。 (signingConfigs.config) Properties props = new Properties(); props.load(new FileInputStream(file(rootProject.file(“signing.properties”)))) android { signingConfigs { config { storeFile file(props[“storeFile”]) storePassword props[“storePassword”] keyAlias props[“keyAlias”] keyPassword props[“KeyPassword”] } release { storeFile file(“..\\xyz.jks”) storePassword “****” keyAlias “****” keyPassword “****” } } . . . buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ signingConfig signingConfigs.release } debug { […]

在我的应用程序中运行不同的App类(用于调试)

我想在我的应用程序中解决一些依赖项,只有在我调试我的应用程序时,例如我想仅使用Stetho进行调试,而不是在最终版本中,我该如何实现? 我尝试创建另一个名为debug的文件夹并创建从我的App扩展的DebugApp ,但我不知道如何运行这个DebugApp ,也许我应该在Gradle中添加一些内容? public class DebugApp extends App { @Override protected void init() { super.init(); DebugAppInitializer.initStetho(this); DebugAppInitializer.initCrashczyk(this); } } 如果我可以将它链接到我的productFlavors,那将是非常棒的

在Android Studio 0.8.1上找不到神器’com.android.tools.build:grad:0.12.1:gradle.jar’

我已升级到Android Studio 0.8.1,当我尝试编译任何应用程序时,它失败并出现以下错误: Error:Artifact ‘com.android.tools.build:gradle:0.12.1:gradle.jar’ not found on Android Studio 0.8.1 我试图从gradle.org手动更新插件,它不包含任何gradle.jar二进制文件。 如何解决此错误?

在Android Studio上构建非常慢的Gradle

这是我的配置: MBP 2015,8GB RAM,SSD Android Studio 2.2.3 平均而言,构建持续7/8分钟,有时为10/12分钟 我尝试了一切我可以在网上find但似乎没有工作: —自定义VM选项: -Xms1024m -Xmx8192m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=440m -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 —按需编译/配置 —并行编译/编译模块 — Gradle /离线工作 — gradle.properties文件: org.gradle.daemon=true org.gradle.jvmargs=-Xmx8192m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -noverify org.gradle.parallel=true org.gradle.configureondemand=true android.enableBuildCache=true 有没有人知道发生了什么,因为它只是荒谬 更新: 从那以后我切换到一个16GB的RAM,显然有一些改进,我的印象是它不到一分钟左右,但它需要3-4分钟,这仍然是不可接受的:这里是Gradle的一部分我发现的日志耗时太长: git log –pretty=format:’%h %s’ :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preAlphaBuild UP-TO-DATE :app:preBirdsBuild UP-TO-DATE :app:preKfgBuild UP-TO-DATE :app:prePenBuild UP-TO-DATE :app:prePrelaunchBuild UP-TO-DATE […]

在Android Studio中使用android-maps-utils

我试图在Android项目中使用此库[1],使用Android Studio或ADT。 但它根本不起作用。 在ADT中我不知道如何处理gradle的东西,在Android Studio中,当我尝试“导入项目”时,我收到错误“找不到com.google.android.gms:play-services:3.1.36。 (没有足够的声誉来发布图片,它与xswZ3.jpg有关) 我不熟悉gradle,我对它的作用只有一个模糊的想法,但我想要的是在我自己的项目中使用像BubbleIconFactory f = new BubbleIconFactory(this)这样的东西。 任何帮助表示赞赏! [1] https://github.com/googlemaps/android-maps-utils

android无法findrealm gradle依赖

我在构建时遇到此错误: Failed to sync Gradle project ‘myapp’ Error:Could not find io.realm:realm-android:0.88.3. Required by: myapp:app:unspecified Search in build.gradle files 在我的项目级别gradle中,我添加了: classpath “io.realm:realm-gradle-plugin:0.88.3” 在我的模块级别: compile ‘io.realm:realm-android:0.88.3’ 如何解决此错误? 项目级别: buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.0.0’ classpath ‘io.realm:realm-gradle-plugin:0.88.3’ } } 模块级别: apply plugin: ‘com.android.application’ apply from: ‘../config/quality/quality.gradle’ apply plugin: ‘realm-android’ android { compileSdkVersion 23 buildToolsVersion […]

管理Android Gradle依赖项的最佳方式

我正在使用’com.android.tools.build:gradle:0.6.+’来构建我的android应用程序。 众所周知,Android dex不能包含相同库的不同版本。 但是,当你想要使用Maven依赖时,如何处理情况需要一些你已经使用的库,但只是不同的版本。 例。 在build.gradle文件中有以下内容: dependencies { compile ‘com.android.support:appcompat-v7:+’ compile ‘com.github.chrisbanes.bitmapcache:library:2.3′ } 产生错误: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/FragmentManager$OnBackStackChangedListener; at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) at com.android.dx.dex.file.DexFile.add(DexFile.java:163)… 出现此错误的原因如下: http : //search.maven.org/remotecontent? filepath = com / github / clinbanes / bitmapcache / library3.3 / library-2.3.pom需要com.google.android:support-v4 com.android.support:appcompat-v7:+已经包含了com.google.android:support-v4,这导致双重包含相同的类文件。 我现在正在寻找以下答案:使用Ant将所有依赖项下载到’libs’文件夹并使用编译文件(’…’)等。 更改包含顺序olso也无济于事。 我正在寻找强大而方便的解决方案。 如何使用maven依赖关系,仍然没有上述exception? 想法? 成熟的android开发者如何管理这个?

缺少javaCompileTask变体

尝试使用Android Studio 3.0构建一些在以前版本中运行良好的东西。 现在我看到了: 错误:任务’:mobile-app:transformClassesWithRetrolambdaForDevDebug’的执行失败。 缺少javaCompileTask for variant:dev / debug / 0来自输出目录:/ Users / myname / mycompany-android-app / MyProject / mobile-app / build / intermediates / transforms / retrolambda / dev / debug / 0 我有一个先前的编译问题,我将以下内容添加到defaultConfig中的模块级build.gradle中: javaCompileOptions {annotationProcessorOptions {includeCompileClasspath false}} 我在“javaCompileTask”上找不到任何东西。 也许那与其他事情有关?

Gradle – 为另一个模块的测试添加依赖项

我有一个多模块gradle项目,如下所示: Parent |–server |–application (android module) +–common 服务器测试依赖于通用模块测试。 为此,我补充道 testCompile files(project(‘:common’).sourceSets.test.output.classesDi compileTestJava.dependsOn tasks.getByPath(‘:common:testClasses’) 它工作得很好。 不幸的是,当我尝试为同样依赖于公共模块测试的应用程序模块做同样的事情时,它将无法工作。 它失败了: Build file ‘application\build.gradle’ line: 103 A problem occurred evaluating project ‘:application’. Could not find property ‘sourceSets’ on project ‘:common’ 谷歌搜索后我也试过了 project.evaluationDependsOn(‘:common’) testCompile files(project(‘:common’).sourceSets.test.output.classesDir) 但失败了另一个例外: Project application: Only Jar-type local dependencies are supported. Cannot handle: common\build\classes\test 有想法该怎么解决这个吗?

Android版本24.0.0和Espresso 2.0 gradle例外

我想在我的应用程序中使用Espresso 2.0,以测试UI元素。 然而,gradle不让它做。 它给了我这个信息 Error:Conflict with dependency ‘com.android.support:support-annotations’. Resolved versions for app (24.0.0) and test app (23.1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details. 这是我的gradle文件 apply plugin: ‘com.android.application’ android { compileSdkVersion 24 buildToolsVersion “24.0.0” defaultConfig { applicationId “theo.testing.espressotutorial” minSdkVersion 14 targetSdkVersion 24 versionCode 1 versionName “1.0” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } […]