在测试时跳过64k限制Android

时间:2015-05-04 12:51:06

标签: java android android-studio testing

在模拟器中测试我的Android应用时,是否有一些解决方法可以跳过64k方法限制?

3 个答案:

答案 0 :(得分:3)

您可以使用proguard并尝试缩小代码。这将是首选方案。

否则,将其设为multidex(但我不知道它将如何“仅用于测试”,除非您在部署之前仍然缩小代码)。

您可以通过以下三种简单方法之一来实现这一目标:

  1. 如果您有应用程序类,只需将其扩展为MultidexApplication(而不仅仅是Application)。
  2. 如果您没有应用程序类,可以在android:name="android.support.multidex.MultidexApplication"
  3. 中将AndroidManifest.xml属性添加到您的应用程序标记中
  4. 如果您有一个应用程序类但无法覆盖MutlidexApplication(因为您没有覆盖Application以开始使用其他自定义应用程序类),请添加以下覆盖:

    @Override
    protected void attachBaseContext(Context context) {
         super(context);
         Multidex.install(this);
    }
    
  5. [如果您支持的API级别低于21,则需要将android-support-multidex.jar依赖项添加到项目中。它可以在android-sdk目录下的extras文件夹中找到]

答案 1 :(得分:1)

如果你很幸运的话,除了proguard之外没有足够的解决方法可以让你低于限制。只需实现multidex。现在很容易。

答案 2 :(得分:0)

限制是64 x 1024 = 65.536方法。这意味着64K方法。 您无法更改此最大值,但可以缩小图书馆。您需要做的就是缩短这样的图书馆:

为:

compile 'com.google:9.6.1'

更好:

compile 'com.google.android.gms:play-services:9.6.1'