Articles of android gradle

使用buildToolsVersion 23失败,因为多个dex文件定义’AnimRes’

在您声明DUPLICATE之前,请阅读问题。 这只发生在最新版本的构建工具中。 旧版本不显示此问题。 我已经尝试过在其他问题上提供的解决方案,用于@AnimRes多个定义。 到目前为止没有任何帮助,这就是我发布一个新问题的原因。 相同症状,不同原因,不同解决方案。 使用buildToolsVersion 22.0.1时我可以buildToolsVersion 22.0.1 ,但是当我切换到buildToolsVersion 23 ,构建失败并出现错误 意外的顶级exception:com.android.dex.DexException:多个dex文件定义了Landroid / support / annotation / AnimRes; 在com.android.dx.merge.DexMerger.mergeClassDefs的com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)的com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) (dexMerger.java:535)com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)com.android下的com.android.dx.merge.DexMerger.merge(DexMerger.java:189)。 dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)位于com.android.dx.com上的com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)。在com.android.dx.command.Main.main(Main.java:106)的com.android.dx.command.dexer.Main.main(Main.java:245)上运行(Main.java:277) 这是我的依赖项列表: provided ‘org.projectlombok:lombok:1.16.4’ compile ‘com.android.support:support-v4:23.0.0’ compile ‘com.android.support:appcompat-v7:23.0.0’ compile ‘com.android.support:support-v13:23.0.0’ compile ‘com.android.support:cardview-v7:23.0.0’ compile ‘com.android.support:palette-v7:23.0.0’ compile ‘com.google.code.findbugs:jsr305:2.0.1’ compile ‘com.google.guava:guava:18.0’ compile ‘com.github.chrisbanes.photoview:library:1.2.3’ compile ‘org.apache.commons:commons-lang3:3.4’ compile ‘commons-io:commons-io:2.4’ compile ‘commons-codec:commons-codec:1.10’ compile ‘com.jakewharton:butterknife:7.0.1’ compile ‘com.squareup:otto:1.3.8’ compile ‘org.jsoup:jsoup:1.7.2’ compile ‘com.squareup.picasso:picasso:2.5.2’ […]

没有这样的属性:在导入项目时android studio中的类的sonatypeRepo

我从以下链接下载了图像裁剪器示例 https://github.com/edmodo/cropper 当我尝试在Android工作室中导入它时,我得到以下错误。 这是错误,我对此很新,所以我不知道我是如何解决的。 尝试通过导入项目作为gradle但同样的错误 内部大师 buildscript { repositories { mavenCentral() } dependencies { // Plug-in release notes: http://tools.android.com/tech-docs/new-build-system classpath ‘com.android.tools.build:gradle:0.11.+’ compile ‘com.edmodo:cropper:1.0.1’ } } task wrapper(type: Wrapper) { // See latest Gradle version: http://www.gradle.org/downloads gradleVersion = ‘1.12’ } 内部裁剪 apply plugin: ‘android’ dependencies { compile project(‘:cropper’) } android { compileSdkVersion 19 buildToolsVersion “19.1” defaultConfig […]

无法删除Android Studio中的目录

今天我将Android Studio更新为2.0,当我运行我的项目时,会给我这个错误 Error:Execution failed for task ‘:app:clean’. > Unable to delete directory: /media/dev1/08782A6D782A5A281/workspace/gengold/GenGold/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/jars 这是我的build.gradle apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { applicationId “com.mobile.gengold” minSdkVersion 15 targetSdkVersion 21 } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } productFlavors { } } dependencies { compile ‘com.android.support:support-v4:21.0.2’ compile ‘com.android.support:appcompat-v7:21.0.3’ /*compile ‘com.google.android.gms:play-services-maps:6.5.+’*/ […]

添加依赖项到Android Cordova插件

我正在构建一个Cordova Android插件 。 我想在插件 (特别是剪刀 ) 创建的Intent中使用第三方View 。 通常(在非Cordova项目中)我会转到我的项目的build.gradle文件并添加如下: dependencies { compile ‘com.lyft:scissors:1.0.1’ } 但似乎我的插件项目中的build.gradle文件似乎没有被触及? 向插件项目添加依赖项的正确方法是什么,通过Cordova支持构建并通过Android Studio构建? 同样的问题,但对于本地项目(不在GitHub上托管)。

Android Studio Gradle Build需要5分钟以上

所以我一直在Android Studio中开发一个简单的应用程序,自从过去几天,每当我点击“运行”时,构建都需要5分钟以上。 它过去并不常见。 我不知道为什么。 它说“Gradle Build Running”然后在5分钟后加载app。 这发生在模拟器和我的Android设备上。 我的成绩版本是2.10我查找了这个问题,我尝试了其他类似post建议的所有内容,包括: 将–parallel和–offline添加到命令行选项设置 在Gradle设置中启用“离线工作” 在gradle.properites文件中添加org.gradle.daemon=true 以下是截屏。 即使在完成所有这些之后,我的成绩也需要5分钟以上。 这就是事件日志中的内容: 10:27:57 AM Executing tasks: [:app:clean, :app:generateDebugSources, :app:mockableAndroidJar, :app:prepareDebugUnitTestDependencies, :app:generateDebugAndroidTestSources, :app:assembleDebug] 10:34:24 AM Gradle build finished in 6m 26s 378ms 任何建议都会有所帮助。 提前致谢 :)

无法在Android Studio中切换到调试版本变体

我已经切换到发布构建变体并配置了signingConfigs。 现在,当我尝试从下拉菜单中检查调试版本变体时,它立即切换回发布版本变体。 所以我无法再以调试模式运行我的应用程序了。 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ apply plugin: ‘kotlin-kapt’ apply plugin: ‘realm-android’ android { signingConfigs { config { … } } compileSdkVersion rootProject.compileSdkVersion buildToolsVersion rootProject.buildToolsVersion defaultConfig { applicationId “com.kost.foo” minSdkVersion rootProject.minSdkVersion targetSdkVersion rootProject.targetSdkVersion versionCode 2 versionName “1.1” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” ndk { abiFilters ‘armeabi-v7a’, ‘arm64-v8a’, ‘x86’, ‘x86_64’ } externalNativeBuild { […]

gradle汇编和gradle build taks之间的区别是什么?

如果我没有错, gradle assemble会运行gradle assembleDebug和gradle assembleRelease ,但我相信gradle build也是如此,那么它们之间有什么不同呢?

Android依赖项’..’具有不同版本的编译(..)和运行时(..)类路径

我迁移到Android Studio 3和Gradle 4.然后我在build.gradle文件中将compile更改为implementation 。 但我得到错误: Error:Execution failed for task ‘:app:preDebugBuild’. > Android dependency ‘com.google.firebase:firebase-core’ has different version for the compile (9.0.0) and runtime (11.6.0) classpath. You should manually set the same version via DependencyResolution 当我将implementation更改为api ,错误消失。 但这不是解决方案。 我有app模块和一个库模块。 App build.gradle只有一个依赖项: implementation project(‘:common-lib’) apply plugin: ‘com.google.gms.google-services’正确放置在app build.gradle文件的底部(项目在迁移到Gradle 4之前工作) 来自gradlew应用程序的依赖关系:依赖关系(剪切文本): 编 debugAndroidTestCompileClasspath – Resolved configuration for […]

Android Studio:重新下载依赖项并同步项目

我从Github下载了一个开源游戏“ ChaseWhisplyProject ”源代码。 我在Android Studio(版本1.5.1)中导入了该项目。 它显示以下错误消息: 错误:无法打开zip文件。 Gradle的依赖性缓存可能已损坏(这有时会在网络连接超时后发生。) 重新下载依赖项和同步项目(需要网络) 重新下载依赖项和同步项目(需要网络) 我将所有依赖版本更改为最新版本仍然显示相同的消息。 它在主项目下有两个模块:1)BaseGameUtils&2)ChaseWhisply。 上面的模块没有用粗体字母显示(我认为它应该以粗体字母显示,如模块“app”)。 以下是gradle文件。 1)Root Gradle: // Top-level build file where you can add configuration options common to all sub-projects/modules. allprojects { repositories { jcenter() } } 2)BaseGameUtils模块Gradle apply plugin: ‘com.android.library’ android { compileSdkVersion 23 buildToolsVersion “23.0.1” } buildscript { repositories { mavenCentral() } dependencies […]

在Gradle 4.1中更改apk输出文件夹

我想更改APK output folder ,这是我以前做的: applicationVariants.all { variant -> variant.outputs.all { def filePath = “${rootProject.rootDir.absolutePath}/apks/${variant.name}” println(“My Path: ” + filePath) outputFileName = filePath } } 但是,它在Gradle 4.1 (Android studio 3.0预览版)中不起作用。 它不是像上面的路径那样生成文件夹,而是在旧的debug文件夹中生成上面的路径,如下图所示: 有人有解决方案吗? 谢谢。