我正在尝试使用ProGuard来混淆我的Android Library Project源代码。
我在项目中使用了一些库,一些是libs
文件夹中的jar(例如android-async-http-1.4.4.jar
),另一个是引用的库项目(google-play-services_lib
)。
当我在没有ProGuard的情况下构建项目时(使用ant release
),只有我编码的类被打包到创建的jar中。这就是我想要的,因为将使用我的库的Android应用程序可能已经使用了我正在使用的一些相同的库。
但是当我使用ProGuard构建项目时,我使用的库包含在输出jar中。我不知道为什么,我不想要这个。我认为使用-libraryjars
命令添加这些jar会阻止它们被包含在我的输出jar中,因为ProGuard文档很清楚,但它没有帮助。
-libraryjars class_path
指定要处理的应用程序的库jar(或aars,wars,ear,zips,apks或目录)。这些罐子中的文件不会包含在输出罐中。
我可能没有正确使用它。有人知道我做错了什么(或者我还没做过什么)?
-libraryjars ./libs/android-async-http-1.4.4.jar
-libraryjars ./libs/AndroidIBeaconLibrary-0.7.5.jar
-libraryjars ../google-play-services_lib/libs/google-play-services.jar
答案 0 :(得分:0)
我仍然不知道为什么引用的库被包含在混淆的jar中,但是纠正与此相关的问题的简单解决方案是用winrar打开混淆的jar并删除我不想要的类。在那里......