5

我在 project.properties 中启用了 proguard:

proguard.config=proguard.cfg

我的 proguard.cfg 没有禁用混淆。但没有什么是模糊的。

我运行项目构建

蚂蚁释放。

有铃声响起吗?


-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations !code/simplification/arithmetic,!field/ ,!class/merging/

-keep 公共类 * 扩展 android.app.Activity -keep 公共类 * 扩展 android.app.Application -keep 公共类 * 扩展 android.app.Service -keep 公共类 * 扩展 android.content.BroadcastReceiver -keep 公共类 * 扩展android.content.ContentProvider -keep 公共类 * 扩展 android.app.backup.BackupAgentHelper -keep 公共类 * 扩展 android.preference.Preference -keep 公共类 com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * { native ; }

-keepclasseswithmembers 类 * { public (android.content.Context, android.util.AttributeSet); }

-keepclasseswithmembers 类 * { public (android.content.Context, android.util.AttributeSet, int); }

-keepclassmembers 类 * 扩展 android.app.Activity { public void *(android.view.View); }

-keepclassmembers enum * { public static * [] values(); 公共静态 * valueOf(java.lang.String); }

-keep 类 * 实现 android.os.Parcelable { public static final android.os.Parcelable$Creator *; }


4

3 回答 3

1

您应该确保您的项目已针对您的 Android SDK 进行了配置:

android update project -p MyProjectDirectory

从 Android SDK r20 开始,ProGuard 配置文件被分成几个部分,具体project.properties如下:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

简短的项目特定配置定义在proguard-project.txt(不再在 proguard.cfg 中,就像在旧版本的 SDK 中一样)。在这方面,SDK 文档可能并不完全是最新的。

当您运行时ant release,您应该会看到来自 ProGuard 的一些日志记录输出。

于 2013-02-01T23:31:14.097 回答
1

这比我想象的要简单得多:我们(在我们的 manifest.xml 文件中)启用了

android:debuggable="true"

多哈。

于 2013-02-07T16:30:19.160 回答
1

@Thanks Danail,今天我刚刚克服了这个问题。只是详细说明

android:debuggable 是否可以调试应用程序,即使在用户模式下在设备上运行时也是如此——"true"如果可以,如果不能,则为“假”。默认值为“假”。

有关更多详细信息,您可以访问

http://www.vogella.com/tutorials/AndroidDebugging/article.html

于 2015-07-06T09:06:17.183 回答