Articles of android gradle

Gradle中基于构build变体的不同drawable

我在我的gradle文件中有两个口味:flavor1和flavor2。 与构buildtypes一起,它们创build以下构build变体: flavor1-debug flavor1-release flavor2-debug flavor2-debug 假设我想为每个变体有一个不同的drawable,我应该把它放在哪里? 我的文件夹结构是 src |__ main |__ flavor1 |__ flavor2 |__ debug |__ release 我知道,据此 所有资源(Android资源和资产)都使用覆盖优先级,其中构buildtypes覆盖产品风味,覆盖主源代码集。 这意味着如果我把它放在Build Type文件夹中,那么debugging变体将具有相同的debugging可绘制,并且发布变体将具有相同的可释放drawable。 我想我可以从一开始就创build更具体的口味,比如flavor1release,flavor1debug,flavor2release,flavor2debug,但是我最终会得到8个变体。 根据这一点 ,我可能不会构build一些构buildtypes,但这似乎不是很干净。

如何在另一个库中包含Android库模块?

我正在构build一个Android库,打包成一个aar并分发给第三方开发者。 结构非常简单: 项目— libraryA — libraryB libraryA需要libraryB,这就是为什么在它的gradle文件中有这个: compile project(':libraryB') 和settings.gradle有 include ':libraryB', ':libraryA' 但是,如果我把这个项目build成一个aar,它只包含libraryA。 我错过了什么? 我读了这个回应: Android Studio如何从多个库项目打包单个AAR? 这是不可能的? 我会假设把你的代码分成多个模块是不是不好的做法?

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

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

无法parsing:com.google.android.gms:play-services-measurement:9.6.1

今天,我更新了所有支持库和buildtools到最新版本,以支持Android N 一旦我更新了所有内容并运行了应用程序,在我的应用程序中出现了GCM InstanceId生成方法错误。 所以,我search并find解决scheme,build议更新播放服务。 在遵循所有的问题和答案后,我被卡住了,不能前进。 切换回支持库23.xx是不是一个选项,因为我想要的目标Android N 下面是我的项目级build.gradle文件的外观: buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' classpath 'com.google.gms:google-services:3.0.0' } } allprojects { repositories { jcenter() } } 应用程序级别build.gradle : buildscript { repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } // maven { url 'http://hansel.io/maven' } maven { url "https://jitpack.io" } } dependencies […]

org.gradle.api.tasks.TaskExecutionException:仅在Jenkins上执行任务':mergeDevOnlySlDebugResources'的执行失败

当我使用Android Studio 3.0 Beta 7并使用Android Gradle 3.0.0-beta7插件更新我的项目时,我的项目在debugging和rc(启用proguard)变体中均可以正常工作。 当我试图build立我的jenkins盒子时,我得到了一堆: C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\androidsdk-2.4.12-fullRelease.aar\222313e24d6c4b00972b4191a95e6e2e\res\drawable-xxhdpi-v4\ic_teads_sdk_contact_us.png: error: file not found. C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\appcompat-v7-25.3.1.aar\c8fedf0a28e83c9ac57e1ac18693c6a0\res\drawable-hdpi-v4\abc_tab_indicator_mtrl_alpha.9.png: error: file not found. C:\Windows\System32\config\systemprofile\.gradle\caches\transforms-1\files-1.1\android-sdk-ui-2.0.4.aar\0b51ce1d665e491601444168a26000ca\res\drawable-xhdpi-v4\com_appboy_inappmessage_chevron.png: error: file not found. 什么地方出了错: Execution failed for task ':mergeDevOnlySlDebugResources'. Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 我试图使用AAPT而不是AAPT2,这仍然给我同样的问题。 我的其他jenkins项目没有运行这个gradle 3更改仍然运行良好。 此外,从上面找不到的文件确实在我的机器上的AAPT无法find的位置。 有没有人遇到过这个? 我已经看到错误的在线关于无效的PNG或使用新的AAPT2的实际错误,但这是不同的。

无法使用Android Studio 0.60 / Gradle 0.11parsingbuild.gradle中的类

build立的应用程序工作正常使用Android Studio 0.5.9 / Gradle 0.9,但升级到Android Studio 0.6.0 / Gradle 0.11导致下面的错误。 不知何故Studio似乎已经失去了解决在build.gradle文件的顶部的Android工具导入的能力。 任何人有任何想法如何解决这个问题? build file 'Users/[me]/Repositories/[project]/[module]/build.gradle': 1: unable to resolve class com.android.builder.DefaultManifestParser @ line 1, column 1. import com.android.builder.DefaultManifestParser 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:302) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:858) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:548) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:497) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287) at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:115) … 77 more 2014-06-09 10:15:28,537 [ 92905] INFO – .BaseProjectImportErrorHandler […]

错误:在依赖关系更新后找不到符号方法getMap()

我更新我的依赖关系后,我的getMap()将无法正常工作。 (在更新之前它曾经工作得很好) 这是我得到错误的代码行 GoogleMap map = ((MapView) mRootView.findViewById(R.id.fragment_map_mapview)).getMap(); Location locationNet = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); Location locationGps = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); grandle代码 dependencies { compile 'com.android.support:support-v4:24.0.0' compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.android.support:cardview-v7:24.0.0' compile 'com.android.support:recyclerview-v7:24.0.0' //compile 'com.google.android.gms:play-services:7.3.0' compile 'com.google.android.gms:play-services:9.2.0' compile 'com.afollestad:material-dialogs:0.6.3.4@aar' compile 'com.bignerdranch.android:recyclerview-multiselect:0.1' compile 'com.j256.ormlite:ormlite-android:4.48' compile 'com.melnykov:floatingactionbutton:1.2.0' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' compile 'se.emilsjolander:StickyScrollViewItems:1.1.0' compile 'com.squareup.picasso:picasso:2.5.2' compile fileTree(include: ['*.jar'], dir: 'libs') }

google()和maven {url'https://maven.google.com'}之间的区别

build.gradle文件中的google()和maven {url'https://maven.google.com')是否有区别,如果有的话,是什么? allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } // OR google() } }

我如何configurationAndroidtesting目录?

Android gradle构build强制我的AndroidTests在src / androidTests中。 我如何改变这是我select的另一个目录? 这里有一些背景:我正在从eclipse迁移一个项目。 根据构build文档,当我将其添加到我的gradle构build文件: androidTest.setRoot('tests') android gradle build会这样做:“注意:setRoot()将整个sourceSet(及其子文件夹)移动到一个新的文件夹,这将src / androidTest / *移动到tests / *” 这是伟大的构build,并使其运行得很好。 但是,它迫使我的项目结构把我的androidTests内:src / AndroidTest。 这使得Eclipse无法编译,因为它认为所有的testing代码应该在名为androidTests.com.etc.etc.etc的包中。 我想设置这样的属性: androidTest { java.srcDirs = ['tests'] }

资源条目ic_launcher已经定义

可以任何身体plz帮助他与这个问题我想在我的android studio项目上使用这个库 https://github.com/daimajia/AndroidImageSlider 当我把它放在我的gradle文件中时,显示这些错误 Information:Gradle tasks [:app:generateDebugSources] Information:res\drawable-mdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined. Information:res\drawable-mdpi\ic_launcher.png:0: Originally defined here. Information:res\drawable-xhdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined. Information:res\drawable-xhdpi\ic_launcher.png:0: Originally defined here. Information:res\drawable-xxhdpi-v4\ic_launcher.png:0: error: Resource entry ic_launcher is already defined. Information:res\drawable-xxhdpi\ic_launcher.png:0: Originally defined here. Information:1 error Information:0 warnings Information:See complete output in console Error:Execution failed for […]