2017-08-03 45 views
0

尝试APK构建但错误apk构建错误。怎么解决?执行失败的任务“:应用程序:transformClassesWithDexForDebug”

错误:执行失败的任务“:应用程序:transformClassesWithDexForDebug”。

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

gradle这个文件

应用插件: 'com.android.application'

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    defaultConfig { 
     applicationId "my packagename" 
     minSdkVersion 19 
     targetSdkVersion 25 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:25.3.1' 
    compile 'com.android.support:design:25.3.1' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'gun0912.ted:tedpermission:1.0.2' 
    testCompile 'junit:junit:4.12' 
} 

有什么不好?

+0

从'gradlew app:dependencies'的输出发布'releaseCompileClasspath'节。 – DeKaNszn

+0

https://stackoverflow.com/a/33430306/3395198 –

回答

0

你有太多的方法。对于dex只能有65536个方法。 因此,使multidex如下

android {  
defaultConfig { 
    // Enabling multidex support. 
    multiDexEnabled true 
} 
} 
dependencies { 
compile 'com.android.support:multidex:1.0.0' 
} 

创建一类像这样

public class Multi_Dex extends Application { 
@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 
} 

现在在manifiest文件中添加此

<application 
    android:name=".Multi_Dex" 
    android:allowBackup="true" 
    android:icon="@drawable/logo" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

注意:如果您的项目配置为multidex minSdkVersion 20或更低,并且您部署到运行Android 4.4(API级别20)或更低的目标设备时,Android Studio会禁用即时运行。

相关问题