3

我正在为重新分发准备 Android 库,它的代码必须被混淆。我读过一些关于这个主题的东西,我决定使用 Android Library Project。它将作为 jar 分发(在 /bin 目录中自动创建(我正在使用带有最新 ADT 的 eclipse)。所有资源(布局、drawable 等)将分发在单独的包中,开发人员必须将其添加到他的项目中手动(与清单权限等相同)。所以到目前为止一切正常 - 添加到我的干净项目中的 jar 做了它应该做的事情,它看到资源添加到我的基础项目中。但问题是当我想混淆这个库 jar 时(一个在库项目的 /bin 目录中自动生成)。由于 Eclipse 仅在常规 Android 项目(构建 APK 时)支持使用 Proguard 进行混淆,因此它不 t 为 Android 库项目提供混淆(jar 未被混淆,即使将“proguard.config=proguard.cfg”行添加到 project.properties 文件)。我认为混淆这样一个 jar 的最佳方法是在 Eclipse 之外使用 Proguard,但我不知道为什么我总是得到“空输出 jar”——即使使用我在常规项目中一直使用的参数,之前我决定从中提取库。使用 proguard 4.6、4.7、4.8 测试,效果相同。如果有人可以向我展示允许混淆 android 库项目的示例 proguard.conf,我将不胜感激(例如,基于 facebook Android 库项目,可以在此处下载:被添加到 project.properties 文件中)。我认为混淆这样一个 jar 的最佳方法是在 Eclipse 之外使用 Proguard,但我不知道为什么我总是得到“空输出 jar”——即使使用我在常规项目中一直使用的参数,之前我决定从中提取库。使用 proguard 4.6、4.7、4.8 测试,效果相同。如果有人可以向我展示允许混淆 android 库项目的示例 proguard.conf,我将不胜感激(例如,基于 facebook Android 库项目,可以在此处下载:被添加到 project.properties 文件中)。我认为混淆这样一个 jar 的最佳方法是在 Eclipse 之外使用 Proguard,但我不知道为什么我总是得到“空输出 jar”——即使使用我在常规项目中一直使用的参数,之前我决定从中提取库。使用 proguard 4.6、4.7、4.8 测试,效果相同。如果有人可以向我展示允许混淆 android 库项目的示例 proguard.conf,我将不胜感激(例如,基于 facebook Android 库项目,可以在此处下载:已经决定从中提取库。使用 proguard 4.6、4.7、4.8 测试,效果相同。如果有人可以向我展示允许混淆 android 库项目的示例 proguard.conf,我将不胜感激(例如,基于 facebook Android 库项目,可以在此处下载:已经决定从中提取库。使用 proguard 4.6、4.7、4.8 测试,效果相同。如果有人可以向我展示允许混淆 android 库项目的示例 proguard.conf,我将不胜感激(例如,基于 facebook Android 库项目,可以在此处下载:https://github.com/facebook/facebook-android-sdk/zipball/master)。每一步的指导将不胜感激。

提前致谢!

4

1 回答 1

2

“-dontshrink” 将保留所有课程。要更有选择性,请使用各种“-keep”选项。

于 2012-09-18T12:24:27.193 回答