プロジェクトにmultidex:trueを追加し、MultiDexApplicationから拡張するApplicationクラスを作成すると、プロジェクトのビルド時間が20秒から約90秒になりました。
あなたがすでにVic Vuのソリューションを試したが、multiDexを有効にすることを避けられない場合は、これを試すことができます(Android 5.0以上のデバイスを使用している場合)。
注これは、開発ビルドの速度を上げるだけです。本番環境のビルドは依然として遅くなります。
基本的に、dev
用とprod
用の2つの製品フレーバーを導入する必要があります。
_multiDexEnabled true
_を追加
_Android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-Android.txt'),
'proguard-rules.pro'
}
defaultConfig {
applicationId "com.something.something"
targetSdkVersion 23
versionCode 1
versionName "1.0.0"
multiDexEnabled true
}
}
dependencies {
compile 'com.Android.support:multidex:1.0.1'
}
_
そして、Application
を拡張するクラスがあるので、attachBaseContext()
をオーバーライドする必要がありました。
_@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
_
Application
を拡張しない場合は、単に_AndroidManifest.xml
_ MultiDexApplication
タグでapplication
を使用します。
Android Studio _Build Variants
_]でdevDebug
を指していることを確認してください。
ここで完全な手順をお読みください https://developer.Android.com/studio/build/multidex.html#dev-build
これは書式設定により適しているため、回答として提供します。
単にあなたの質問に答えるには:いいえ、方法はありません。 Multidexは、65kメソッドの制限の負担を軽減するためのプロセスです。このプロセスは複雑で、単にビルド時間を長くします。
できることは、メソッド数を減らすことです。
あなたのbuild.gradle( ここに提供 )で使用しているもの:
`compile 'com.google.Android.gms:play-services:8.3.0'`
ただし、最新のプレイサービスAPIを見ると、実際に必要なサービスを選択できます。
表1をご覧ください このページ 。
必要なものだけを使用してください。 Googleプレイサービスは全体で約3万メソッドです。
それが役立つはずです。
場合によります。
質問では指定していませんが、developmentビルドをスピードアップしたいだけであれば、余分な作業を避けることができます。公式文書には セクション全体 が含まれています。