我想使用新的Multidex支持库来打破我的一个应用程序的方法限制。
通过Android棒棒糖,谷歌引入了一个multidex支持库,使得multidex变得很容易。
要使用此库并构建支持multidex的应用程序,需要执行哪些步骤?
发布于 2014-10-29 17:49:47
要启动多重dexing,需要执行以下步骤:
将android-support-multidex.jar添加到项目中。该jar可以在Android SDK文件夹/sdk/extras/android/support/multidex/library/libs中找到
现在,您可以让应用程序应用程序类扩展MultiDexApplication
public class MyApplication extends MultiDexApplication
或者像这样覆盖attachBaseContext:
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
我使用覆盖方法,因为它不会扰乱应用程序类的类层次结构。
现在你的应用程序已经准备好使用multi了。下一步是说服gradle构建一个多解的apk。构建工具团队正在努力让这一切变得更容易,但目前你需要在你的应用程序build.gradle的安卓部分添加以下内容
dexOptions {
preDexLibraries = false
}
和以下内容添加到应用程序build.gradle的常规部分
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
}
}
更多信息可以在Alex Lipovs blog上找到。
发布于 2015-07-30 20:42:16
简单地说,为了启用multidex,您需要...
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.0'
}
此外,您还必须更改清单文件。在清单中,将multidex支持库中的MultiDexApplication类添加到应用程序元素中,如下所示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
发布于 2019-07-08 20:38:47
build.gradle
multiDexEnabled true
implementation 'androidx.multidex:multidex:2.0.1'
AndroidManifest.xml
<application
android:name="androidx.multidex.MultiDexApplication"
https://stackoverflow.com/questions/26609734
复制相似问题