Articles of android gradle

Android – 使用Dex进行debugging

我的项目工作正常,直到我添加Facebook的依赖。 我已经开始得到这个错误。 我读过很多问题,这个问题似乎与MultiDex有关。 但是,没有任何解决scheme为我工作 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 即使删除了我所添加的东西,它仍然显示,而且在build设时比平常还要花费很多时间 这是我的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' […]

播放服务粒度依赖性错误

我尝试在Google Play Service 6.5中使用新的Granular Dependency 在我的gra子里,我设定了: dependencies { compile 'com.android.support:appcompat-v7:21.0.2' compile 'com.google.maps.android:android-maps-utils:0.3' compile 'com.google.android.gms:play-services-base:6.5.87' compile 'com.google.android.gms:play-services-location:6.5.87' compile 'com.google.android.gms:play-services-maps:6.5.87' } 但我得到这个错误: Error:Execution failed for task ':app:processDebugResources'. Error: more than one library with package name 'com.google.android.gms' You can temporarily disable this error with android.enforceUniquePackageName=false However, this is temporary and will be enforced in 1.0 我已经更新了所有的SDK。 什么是使用这个新function的正确方法? 谢谢。 […]

每次运行Gradle时都会编译应用程序,花费大量时间

在使用Eclipse进行开发的时候,如果我之前已经运行/debugging过一个应用程序,并且没有更改它的源代码,那么再次运行/debugging同一个应用程序是相当快的。 但是,对于Android Studio和Gralde,每当我尝试运行/debugging一个应用程序时,gradle构build将始终运行,并在应用程序启动时添加15〜45秒的延迟时间(有时高达70秒在一台4岁的惠普i7笔记本电脑)。 因此,问题是:有没有办法跳过Android Studio的gradle构build阶段,或者至less减less运行/debugging所花费的时间? 注意:我已经configuration了gradle.properties,如下所示: org.gradle.parallel=true org.gradle.daemon=true org.gradle.configureondemand=true 编辑:我的gradle构build可能比大多数项目更复杂,因为它有7种不同的风格(将扩展到20)和3种构buildtypes,还包含Groovy代码来更改APK名称(插入当前date),并自动插入任务根据当前的buildType增加版本代码和版本名称。 这是完整的build.gradle(修改为隐藏客户名称): import java.text.SimpleDateFormat apply plugin: 'com.android.application' def appendVersionNameVersionCode(applicationVariants) { applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null) { def PREFIX = "My_APP_" if (outputFile.name.endsWith('.apk') && !outputFile.name.startsWith(PREFIX)) { def names = variant.baseName.split("-"); def apkName = PREFIX+names[0]+"_"; if(names[1].equals(android.buildTypes.debugEx.name)) { […]

gradle项目同步失败。 基本function(如编辑,debugging)将无法正常工作在Android Studio 1.0.1

我已经开始使用Android Studio 1.0.1,并且没有任何事情可以做,因为我有这个错误,甚至无法呈现XML。 错误:无法启动守护进程。 这个问题可能是由于守护进程的configuration不正确造成的。 例如,使用无法识别的jvm选项。 有关守护进程的用户指南章节,请参阅http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html 请阅读以下过程输出以了解更多信息: VM初始化期间发生错误无法为对象堆预留足够的空间错误:无法创buildJava虚拟机。 错误:发生致命exception。 程序将会退出。 其他人面临同样的问题?

在Android Studio 1.0.2中使用NDK生成.so文件

我一直在努力获得一个非常简单的NDKSample应用程序,这个应用程序是按照这个步骤构build的。 我的问题是,我不能让Android Studio生成.so文件,所以我没有库。 据我所知,现在NDK支持已经被弃用了,今年年初还会有一个替代scheme,但是目前似乎还没有任何阻止我使用这个function的东西。 当我build立我的项目,我给了以下警告(不是一个错误): 警告[Project::app]当前的NDK支持已被弃用。 将来会提供替代scheme。 我的项目build立,但是当我运行.apk它崩溃(如预期),因为它不能find库/ .so文件。 我们希望这些在项目build成时产生,就像这个例子,这是正确的吗? 这是错误: java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList [[zip文件“/data/app/com.example.ndksample-1/base.apk"],nativeLibraryDirectories=[/vendor/lib,/ system / lib] ]]找不到“libMyLib.so” 关于我的环境 Windows 7,Android Studio 1.0.2,ADB运行的是Nexus 5(emulator-5554) 我的代码 按照这个例子: 主要Activity.java package com.example.ndksample; //import android.support.v7.app.ActionBarActivity; // This line is not needed as we are not targetting older devices import android.app.Activity; //Import this app package to use onCreate etc. import […]

在Android Studio中为unit testingconfigurationtesting文件夹

我在我的android studio项目中添加了unit testing的文件夹。 默认文件夹是andoidTest,但是我在testing中添加了一个新文件夹和名称。 ( 如robolectric抽样testing ) 当我添加testing依赖在我的build.gradle模块下如 testCompile("junit:junit:${junitVersion}") testCompile ("org.robolectric:robolectric:${robolectricVersion}") 他们不会被添加到项目下的外部库中,但是当我使用默认configuration并使用androidTestCompile ,它可以添加外部库。 然后我想也许我应该在gradle中设置root用于testing,所以我在build.gradle中使用了android标签中的以下内容: sourceSets { androidTest.setRoot('src/test') } 但仍然存在问题。 我可以使用gradlew运行testing,但是在test文件夹中的类中的导入不适用,也不会出现用于testing目的的外部库。 任何人有任何解决这个问题?

Gradle不包括arm64库

我有一个包含两个库的应用程序,其中两个库都依赖于本地库。 两者都包含使用gradle,所以结构如下所示: MyApp的 – Libary1 — x86, armeabi native libs – Library2 — Library3 — x86, armeabi, arm64-v8a 我想删除arm64的支持,因为我也需要* .so为Library1,我没有。 (所以目前我在arm64设备上得到一个UnsatisfiedLinkError) 我已经试过这个:(用abiFilters“armeabi”,“x86”) https://stackoverflow.com/a/30799825/3325222 但我仍然得到了我的apk中的arm64文件夹和* .so文件…有什么我失踪? 那abiFilter的东西,甚至应该工作,如果本地库在依赖关系层次结构内更深? 在此先感谢您的支持:)

切换到3.0金丝雀5后,Gradle同步失败

切换到Android Studio 3.0金丝雀5后,我不能build立我的gradle一些search后,我发现错误是由于过时的番石榴库,但我没有在我的项目中使用番石榴。 项目Gradle buildscript { ext.kotlin_version = '1.1.3' repositories { jcenter() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha5' classpath 'com.google.gms:google-services:3.1.0' classpath 'io.fabric.tools:gradle:1.22.2' classpath 'com.google.firebase:firebase-plugins:1.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() […]

Android studio 1.1.0设置minifyEnabled true导致应用程序出现问题

这是我的gradle.build文件 defaultConfig { minSdkVersion 15 targetSdkVersion 21 versionCode 2 versionName "1.0" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } Proguard-rules.pro文件 -keepclassmembers class * extends de.greenrobot.dao.AbstractDao { public static java.lang.String TABLENAME; } -keep class **$Properties -dontwarn com.squareup.** -dontwarn okio.** -dontwarn retrofit.** -dontwarn org.joda.time.** 我有一个Java类作为 public class Endpoints { public final static String […]

Android Studio:无法删除原始文件

我对android非常陌生,刚刚克隆了一个Android项目。 当Android工作室执行一次打开项目的索引时,我总是得到这个错误。 这是我从Android Studio中得到的错误。 Error:(89, 0) Failed to delete original file 'C:\Users\myname\AppData\Local\Temp\gradle_download8065263342645015068bin' after copy to 'C:\Users\myname\.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle\1.5.0\1c3d2b23212349ffbe6479fcb04732c5cddaf98b\gradle-1.5.0.pom' <a href="openFile:D:\myname\mobile-myapp-tester\platforms\android\build.gradle">Open File</a>