- 最近在导入Eclipse项目到Android Studio中的时候,出现了如下问题提示:
com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException:
java.util.concurrent.ExecutionException:
com.android.dex.DexIndexOverflowException:
Cannot merge new index 66221 into a non-jumbo instruction!
解决办法如下:
在module的build.gradle中添加如下代码即可解决
android {
dexOptions {
jumboMode true
}
}
2.问题背景同上面问题,出现的提示如下:
Duplicate files copied in APK META-INF/DEPENDENCIES File ... ...
android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
}
Error:Execution failed for task ':app:processDebugResources'.
com.android.ide.common.process.ProcessException: Failed to execute aapt
解决方案如下:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion '25.0.0'
defaultConfig {
applicationId "a.b.c"
minSdkVersion 16
targetSdkVersion 24
versionCode 140
versionName "4.1.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
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.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
}
问题根源:
build.gradle中的版本(compileSdkVersion、targetSdkVersion 等)是需要配对是使用的 ,虽然是向下兼容但很容易出现问题
4. 问题如图
提示内容如下:
引发问题的代码如下:
Intent intent = new Intent(application.getApplicationContext(), SplashActivity.class);
PendingIntent restartIntent = PendingIntent.getActivity(application.getApplicationContext(), 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
纠正后的写法如下:
Intent intent = new Intent(application.getApplicationContext(), SplashActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// PendingIntent restartIntent = PendingIntent.getActivity(application.getApplicationContext(), 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent restartIntent = PendingIntent.getActivity(application.getApplicationContext(), 0, intent, 0);
5. 待定