问题
After renaming package my project showing error while building in android.
I used this: Android Studio Rename Package for renaming my project and after that it started getting these errors:
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
then i used https://developer.android.com/tools/building/multidex.html for resolving first error but that also didn't work.
So i restarted Android Studio and then again tried to build but same error occured.
then i tried to undo back to old package name but nothing good happened..... please help!...
Thanks in advance......
回答1:
firstly add build.gradle below code
dependencies {//just add below one in dependency
compile 'com.android.support:multidex:1.0.0' ....//no change your old jar file.....}
then
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"
}}
in manifest file
<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>
then create and add one java file like Education_multidex.java
public class Education_multidex extends MultiDexApplication {/* @Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}*/}
finaly build your app then add import some lib in above java file
回答2:
can you please just add below code in your build.gradle
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
and in your ApplicationClass
add below code.
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);
MultiDex.install(this);
}
I think there's a separate way to raise the heap limit of the dexing operation. Add this to your android
closure in your build.gradle
file:
dexOptions {
javaMaxHeapSize "4g"
}
来源:https://stackoverflow.com/questions/42672026/after-renaming-package-my-project-showing-error-while-building-in-android