Android开发Android开发宝典Android开发经验谈

一分钟解决Android 65536问题

2018-09-12  本文已影响20人  FynnJason

原创不易,转载请注明出处,谢谢 O(∩_∩)O

前言

单个dex文件不能超过65536个方法数,这个问题在我们日常开发中是非常常见的,但当我们每次遇到时,又不能及时解决,这里为了便于快速解决,做个笔记,如何一分钟解决65536所带来的问题。

步骤

第一步

在defaultConfig配置中添加 multiDexEnabled true

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.fynnjason.app.androiddexdemo"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true //就是这句,添加进来
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
第二步

依赖最新的multidex包

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:multidex:1.0.3' //就是这句,添加进来
}
第三步

自己的Application继承MultiDexApplication

import android.support.multidex.MultiDexApplication;

public class MyApplication extends MultiDexApplication{
    
    @Override
    public void onCreate() {
        super.onCreate();
    }
    
}
第四步

在AndroidManifest申明自己的Application

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.fynnjason.app.androiddexdemo">

    <application
        android:name=".MyApplication" //就是这句,添加进来
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

这样就解决了Android 65536所带来的问题

上一篇下一篇

猜你喜欢

热点阅读