重命名包后,我的项目在android中构建时显示错误。
我使用了这个:Android Studio Rename Package来重命名我的项目,然后开始出现这些错误:
Error:The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
然后我使用https://developer.android.com/tools/building/multidex.html 解决第一个错误,但也没有工作。
所以我重新启动了Android Studio,然后又尝试构建但发生了同样的错误。
然后我试图撤回旧的包名但没有什么好事发生..... 请帮忙!...
提前致谢......
答案 0 :(得分:1)
首先在代码
下添加build.gradledependencies {//just add below one in dependency
compile 'com.android.support:multidex:1.0.0' ....//no change your old jar file.....}
,然后强>
android {
compileSdkVersion 24
buildToolsVersion '24.0.1'
defaultConfig {
applicationId "your pkg name"
minSdkVersion 15
targetSdkVersion 24
versionCode 6
versionName "v2.5.2.2"
multiDexEnabled true // just add it
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
dexOptions { //add it
javaMaxHeapSize "4g"
}}
清单文件中的
<application
android:name=".Education_multidex" //add what ur create java file
android:allowBackup="true"
android:icon="@drawable/rvms_education_luncher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"> ....</application>
然后创建并添加一个像Education_multidex.java这样的java文件
public class Education_multidex extends MultiDexApplication {/* @Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}*/}
最终构建您的应用,然后在上面的java文件中添加导入一些lib
答案 1 :(得分:0)
您可以在build.gradle
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
并在ApplicationClass
添加以下代码。
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);
MultiDex.install(this);
}
我认为有一种单独的方法来提高dexing操作的堆限制。将其添加到android
文件中的build.gradle
关闭位置:
dexOptions {
javaMaxHeapSize "4g"
}