Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 测试时跳过64k限制_Java_Android_Android Studio_Testing - Fatal编程技术网

Java 测试时跳过64k限制

Java 测试时跳过64k限制,java,android,android-studio,testing,Java,Android,Android Studio,Testing,在emulator中测试我的Android应用程序时,是否有一些变通方法可以跳过64k方法限制?如果幸运的话,除了proguard剥离足够让你低于限制之外,没有其他变通方法。只需实现multidex。现在很容易了。如果幸运的话,除了proguard剥离足够让你低于限制之外,没有其他解决办法。只需实现multidex。现在非常简单。您可以使用proguard并尝试缩减代码。这将是首选方案 否则,将其设置为multidex(但我不认为它“仅用于测试”,除非您在部署之前仍然收缩代码) 您可以通过以下三

在emulator中测试我的Android应用程序时,是否有一些变通方法可以跳过64k方法限制?

如果幸运的话,除了proguard剥离足够让你低于限制之外,没有其他变通方法。只需实现multidex。现在很容易了。

如果幸运的话,除了proguard剥离足够让你低于限制之外,没有其他解决办法。只需实现multidex。现在非常简单。

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

否则,将其设置为multidex(但我不认为它“仅用于测试”,除非您在部署之前仍然收缩代码)

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

  • 如果您有一个应用程序类,只需让它扩展
    MultidexApplication
    (而不是简单地
    application
  • 如果没有应用程序类,则可以将
    android:name=“android.support.multidex.MultidexApplication”
    属性添加到
    AndroidManifest.xml中的应用程序标记中
  • 如果您有一个应用程序类,但无法覆盖
    MutlidexApplication
    (因为您不是从一开始就覆盖
    application
    ,而是覆盖一些其他自定义应用程序类),请添加以下覆盖:

    @Override
    protected void attachBaseContext(Context context) {
         super(context);
         Multidex.install(this);
    }
    

  • [如果您支持低于21的API级别,则需要将
    android support multidex.jar
    依赖项添加到您的项目中。它可以在android sdk目录中的
    extras
    文件夹下找到]

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

    否则,将其设置为multidex(但我不认为它“仅用于测试”,除非您在部署之前仍然收缩代码)

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

  • 如果您有一个应用程序类,只需让它扩展
    MultidexApplication
    (而不是简单地
    application
  • 如果没有应用程序类,则可以将
    android:name=“android.support.multidex.MultidexApplication”
    属性添加到
    AndroidManifest.xml中的应用程序标记中
  • 如果您有一个应用程序类,但无法覆盖
    MutlidexApplication
    (因为您不是从一开始就覆盖
    application
    ,而是覆盖一些其他自定义应用程序类),请添加以下覆盖:

    @Override
    protected void attachBaseContext(Context context) {
         super(context);
         Multidex.install(this);
    }
    

  • [如果您支持的API级别低于21,则需要将
    android support multidex.jar
    依赖项添加到您的项目中。它可以在android sdk目录中的
    extras
    文件夹下找到]

    限制为64 x 1024=65.536个方法。这意味着64K方法。 你不能改变这个最大值,但你可以缩小图书馆。你所需要做的就是像这样缩短图书馆:

    坏的:

    更好:

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

    限制为64 x 1024=65.536个方法。这意味着64K方法。 你不能改变这个最大值,但你可以缩小图书馆。你所需要做的就是像这样缩短图书馆:

    坏的:

    更好:

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

    你读过官方文件吗?你读过官方文件吗?