重命名包后,我的项目在android中构建时显示错误

时间:2017-03-08 12:58:02

标签: android android-studio android-gradle packages

重命名包后,我的项目在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,然后又尝试构建但发生了同样的错误。

然后我试图撤回旧的包名但没有什么好事发生..... 请帮忙!...

提前致谢......

2 个答案:

答案 0 :(得分:1)

首先在代码

下添加build.gradle
dependencies {//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"
}