配置TapJoy创建Dex FIle问题

时间:2014-11-19 07:45:47

标签: android dex tapjoy

我在android的libs文件夹中有多个库。当我尝试添加“Tapjoy”时,我收到错误:

  

无法执行dex方法ID而不是0 0xffff 65536 android问题   即将到来

并且,当我尝试配置构建路径并添加外部jar时,

java.lang.NoClassDefFoundError: com.tapjoy.TapjoyConnect

我坚持这个问题。任何人都可以给我解决方案吗?

1 个答案:

答案 0 :(得分:0)

祝贺你达到65K方法限制,你有两个选择:

a)通过删除不必要的库/使用ProGuard来清理一些代码。

b)Multidex解决方案,请按照以下步骤进行操作

  1. 确保您的Android SDK Build和Android支持信息库已更新至最新版本。
  2. 通过添加support dex lib并启用multidex

    来修改build.gradle
    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>
    
  4. p.s如果你已经扩展了Application,那么只需覆盖attachBaseContext方法

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

    了解更多信息: Building Apps with Over 65K Methods