ExtJS 4.2: подсказки недостаточно широки, чтобы увидеть содержимое

Поддержка Multidex для Android 5.0 и выше

Android 5.0 и более поздних версий использует среду выполнения ART, которая поддерживает загрузку нескольких файлов dex из файлов APK приложения. ART выполняет предварительную компиляцию во время установки приложения, которая сканирует файлы классов (..N) .dex и компилирует их в один файл .oat для исполнения устройством Android. Дополнительные сведения о времени выполнения Android 5.0 см. В разделе Введение в ART.

Именно поэтому ваше приложение отлично работает на уровне API 21.

Поддержка Multidex до Android 5.0

Версии платформы до Android 5.0 используют рабочую среду Dalvik для выполнения кода приложения. По умолчанию Dalvik ограничивает приложения одним файлом байт-кода classes.dex для APK. Чтобы обойти это ограничение, вы можете использовать библиотеку поддержки multidex, которая станет частью основного файла DEX вашего приложения, а затем управляет доступом к дополнительным файлам DEX и содержащемуся в них коду.

Итак, во-первых, убедитесь, что вы импортировали правильную зависимость, которая кажется, что вы это сделали.

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

В манифесте добавьте класс MultiDexApplication из библиотеки поддержки multidex в элемент приложения.

<?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>

Альтернативно этому, если ваше приложение расширяет класс Application, вы можете переопределить метод attachBaseContext() и вызвать MultiDex.install(this), чтобы включить multidex.

public void onCreate(Bundle arguments) {
    MultiDex.install(getTargetContext());
    super.onCreate(arguments);
    ...
}

Надеюсь, это поможет вам.

30
задан user1578653 5 April 2013 в 13:03
поделиться