あなたのminSdkVersionがが21以上に設定されている場合は、ここで示したように、あなたがする必要があるすべては、あなたのモジュールレベルのbuild.gradleファイルでtrueにmultiDexEnabledに設定されている:
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 25
multiDexEnabled true
}
...
}
しかし、あなたのminSdkVersionがあれば次のようにあなたがmultidexサポートライブラリを使用する必要があり、20以下に設定されています
はmultidexを有効にして、ここに示すように、依存関係としてmultidexライブラリを追加するモジュールレベルのbuild.gradleファイルを変更します。
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 25
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
012あなたは、Applicationクラスを上書きアンドロイド設定するためにマニフェストファイルを編集していない場合は ::次のようにタグに名前を:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
</manifest>
場合は、Applicationクラスをオーバーライドし、次のいずれかを実行するかどうかに応じて、
(可能であれば)MultiDexApplicationを次のように拡張するように変更します。 public class MyApplication extends MultiDexApplication {...} また、Applicationクラスをオーバーライドしても基本クラスを変更することはできません。代わりにattachBaseContext()メソッドをオーバーライドし、MultiDex.install(this)を呼び出してmultidexを有効にすることができます。
public class MyApplication extends SomeOtherApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(context);
Multidex.install(this);
}
}
マニフェストにアンドロイド:name = "android.support.multidex.MultiDexApplication"という行を追加したとき、次のアクティビティ行にエラーがスローされます。私はアプリケーションを起動するたびに実行したいAppControllerファイルを持っています。アンドロイド:名前を置き換えると大丈夫ですか? –
"MyApplicationを" のようなクラスを作成し、アプリケーション・クラスを拡張し、 "@Override 保護ボイドattachBaseContext(コンテキストベース){ super.attachBaseContext(コンテキスト); Multidex.install(この); }" を追加し、<アプリケーション アンドロイド:name = "MyApplication"> ... application> –
コンテキストとMultidexでエラーが発生します。 –