2014-11-19 3 views
0

У меня есть несколько библиотек в моей папке libs в android. Когда я пытаюсь добавить «Tapjoy», я получаю ошибку:Конфигурирование TapJoy Создание проблемы с выпуском Dex

unable to execute dex method id not in 0 0xffff 65536 android problem is coming

и, когда я пытаюсь настроить путь сборки и добавление внешних баночки,

java.lang.NoClassDefFoundError: com.tapjoy.TapjoyConnect 

Я застрял на эту проблему , Может ли кто-нибудь дать мне решение?

ответ

0

Поздравляем вы достигли предела 65K метода у вас есть два варианта:

а) Очистите код путем удаления ненужных библиотек/с использованием ProGuard.

б) решение Multidex, выполните следующие действия

  1. Убедитесь, что ваш Android SDK Сложение и Android поддержки Repository обновлены до последней версии.
  2. Изменить ваш build.gradle, добавив поддержку DEX Lib и позволяет multidex

    android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.0" 
    
    defaultConfig { 
        ... 
        minSdkVersion 14 
        targetSdkVersion 21 
        ... 
    
        // Enabling multidex support. 
        multiDexEnabled true 
    } 
    ... 
    } 
    
    dependencies { 
        compile 'com.android.support:multidex:1.0.0' 
    } 
    
  3. Измените манифест:

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

PS Если вы уже расширить приложение, то просто переопределить attachBaseContext метод

protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 

для получения дополнительной информации: Building Apps with Over 65K Methods

Смежные вопросы