调试版本中的android proguard?

调试版本中的android proguard?,android,android-proguard,android-debug,Android,Android Proguard,Android Debug,我有一个android应用程序,它支持android>=4。 在调试编译中,它有>65k个方法,因此它是多索引的。 在这个版本中,我使用proguard,它有38k个方法,不是多索引。 我该如何开发一个应用程序,它在调试模式下可能会崩溃,因为它超过65k个方法 我想我也可以在调试构建中使用proguard,但没有看到任何人这样做+使用proguard进行编译会花费更多的时间 你会如何处理这种情况 PS my app.gradle的外观如下(依赖项部分): 我使用所有这些库,你也可以在调试中使用P

我有一个android应用程序,它支持android>=4。 在调试编译中,它有>65k个方法,因此它是多索引的。 在这个版本中,我使用proguard,它有38k个方法,不是多索引。 我该如何开发一个应用程序,它在调试模式下可能会崩溃,因为它超过65k个方法

我想我也可以在调试构建中使用proguard,但没有看到任何人这样做+使用proguard进行编译会花费更多的时间 你会如何处理这种情况

PS my app.gradle的外观如下(依赖项部分):


我使用所有这些库,你也可以在调试中使用ProGuard。将此添加到您的
构建类型中

    debug {
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        minifyEnabled true
        debuggable true
        zipAlignEnabled true
        jniDebuggable true
    }

在你的应用程序中,我在调试版本中使用proguard。通常我的build.gradle是这样的:

    buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-debug.pro'
    }
}
注意不同的proguard文件(proguard rules debug.pro)用于调试,其中添加了-dontobfuscate选项


使用proguard编译它所需的时间大约要长5-10%,这对我来说是可以接受的。我没有使用instant run,所以我不知道它是如何受到影响的。

发布你的multidex代码,我认为你只在gradle中实现了multidex。我不想让应用程序multidex!它会表现得很古怪,我的应用程序当然应该保持不使用multidex如果你不想让应用程序成为multidex,那么就删除一些对应用程序不有用的jar文件并使用它。如果您使用的是播放服务,那么请在gradle中使用特定的播放服务依赖项。@SilvansSolanki,我无法删除任何JAR或LIB,我将全部使用它们。关于游戏服务,我知道。请告诉我其他选项,如果存在,您仅将播放服务用于单个功能,从您的代码中,我只能说,没有其他方法可以减少项目中的方法编号。您必须为调试创建multidex文件,或者为使用proguard所需的所有调试创建multidex文件,proguard不是推荐的解决方案。最好创建多索引文件,这样就不会给您带来任何性能问题。我现在就是这样做的。但是编译需要更多的时间,这是一个问题,所以,我认为你只有几个选择,用Proguard来减慢编译速度,而不是用multidex来编译或尝试,如果用multidex它不会花那么长时间的话。没有更多的选项了。或者,您可以尝试通过更改库来减少库。我看到你有一个“通用图像加载器”和一个“圆形图像视图”库,如果我没有错的话,你可以用Glide来更改它们。我太喜欢UIL了,不能拒绝。蚂蚁它不需要太多的杀虫剂,不到2k。圆形图像视图仅需200分钟methods@IgorGanapolsky如果我没有错的话,这个标志在调试构建中默认设置为true,所以不需要它。但我通常都会加上,这是个很好的解决方案。谢谢
    buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-debug.pro'
    }
}