Android项目中的库太多了?

时间:2015-12-11 15:17:06

标签: android gradle build.gradle

我遇到了一些问题,包括项目中的4个库。 Microsoft Face Detection / Recognition,Google Play Services,libUVCamera和Firebase。

为了简化问题,我做了一个名为库聚合的项目。它唯一拥有的是添加到它的四个库。每当包含任何3个库时,一切正常。添加第四个(它曾经是一个)将导致以下错误:

错误:任务':app:transformClassesWithDexForDebug'执行失败。

  

com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process' command' C:\ Program Files \ Java \ jdk1.7.0_79 \ bin \ java.exe''完成非零退出值2

Stack溢出的一些人建议有太多的方法(65k是最大的),显然“minifyEnabled true”会有所帮助。我试图清理该项目,但没有什么非常成功。我正在寻找有关如何解决问题的任何想法。我也试过multiDex ......没有成功。

想知道Android开发人员一般会处理这个问题吗?你如何处理Android工作室中的大型库?

线索:构建需要1分28秒......如果有任何用途。

这是我的build.gradle文件: 任何帮助将不胜感激。

的build.gradle(模块:应用)

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.example.benjaminlize.libraryaggregation"
    minSdkVersion 18
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
packagingOptions {
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/LICENSE-FIREBASE.txt'
    exclude 'META-INF/NOTICE'
    }
}

dependencies {
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services:8.3.0'
compile 'com.firebase:firebase-client-android:2.4.0'
compile 'com.microsoft.projectoxford:face:0.5.0'
compile project(':libuvccamera')
}

问候!

1 个答案:

答案 0 :(得分:1)

我认为问题是compile 'com.google.android.gms:play-services:8.3.0'

Google已将播放服务分解为单独的库,您可以单独包含这些库,而不是将所有内容放在一起。尝试仅包括您实际需要的部分。

https://developers.google.com/android/guides/setup

我的猜测是现在所有的游戏服务都有很多功能。