我在Android中使用Proguard文件时出错了。
关键是,我知道如何在Android中使用它,但是现在,我需要将它用于Android项目,并且提取.jar (库中没有资源)来混淆代码,因为我想分发我的库供每个人使用,但是代码被混淆了。
我的Android库项目是一个正常的项目,我只使用包含在库项目中的"bin“文件夹中的.jar,并且我试图以这种方式使用Project来混淆它:
java -jar proguard.jar @proguard-project -verbose我的Proguard文件是下一个:
-injars in.jar -outjars out.jar /home/jorider/wul4/adt-android/sdk/platforms/android-17/android.jar /home/jorider/wul4/adt-android/sdk/extras/android/support/v4/android-support-v4.jar -libraryjars -libraryjars公用-编解码器-重新打包-3.1-b36.jar -libraryjars httpmime-4.2.5.jar -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -verbose -dontoptimize -dontpreverify 公共类com.google.vending.licensing.ILicensingService -keep公共类com.android.vending.licensing.ILicensingService -keepclasseswithmembernames类*{本机;} -keepclassmembers公共类*扩展android.view.View { void *(*); get();} -keepclassmembers类*扩展了android.app.Activity {公共无效*(android.view.View);} -keepclassmembers枚举*{公共静态*[]值();公共静态* valueOf(java.lang.String);} -keep类*实现android.os.Parcelable {公共静态最终android.os.Parcelable$Creator *;} -keepclassmembers类*.R$ {公共静态;} -dontwarn android.support.**
在控制台上运行该程序的结果是:
Shrinking...
java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?有人知道为什么吗?
非常感谢!
发布于 2013-08-13 22:36:31
您可以在ProGuard手册>示例> 典型的图书馆中找到处理库的配置。
特别要注意的是,您需要保存所有公共API:
-keep public class * {
public protected *;
}https://stackoverflow.com/questions/18201926
复制相似问题