1. 程式人生 > >解決android studio編譯問題

解決android studio編譯問題

問題一:

描述:

Execution failed for task ':alpha1s:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:Process 'command 'C:\Program Files\Java\jdk1.8.0_73\bin\java.exe'' finished with non-zero exit value 2

解決:在主工程的build.gradle中

android {
    compileSdkVersion 20
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.ubt.alpha1s"
        minSdkVersion 14
        targetSdkVersion 22
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7

        }
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

問題二:

描述:

Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LE-832C0.SF


File1: E:\Users\Yu Yong\AndroidStudioProjects\MyApplication\app\libs\neurotec-devices-fscanners-suprema-biomini-android.jar
File2: E:\Users\Yu Yong\AndroidStudioProjects\MyApplication\app\libs\neurotec-biometrics-android.jar

...

這個問題之所以出現是因為專案引用的眾多jar包裡面有重複的檔案,例如上面例子中的META-INF/LE-832C0.SF 解決:在 出現問題的Model --> gradle檔案 --> android語句塊內 加上
packagingOptions {
    exclude 'META-INF/LE-832C0.SF'}