4

我试图混淆一个 Android 库项目 (APKLIB),允许将该库分发给潜在客户进行测试开发,而不会损害大部分源代码。

不幸的是,Google 无法提供任何文档和示例,并且对混淆的 APKLIB 的唯一引用是没有解决方案的问题帖子。

我尝试使用 android-maven-plugin 以及 maven-proguard-plugin 和 Maven 来混淆 APKLIB,但最终结果没有被混淆。我还尝试将 proguard 目标移至 maven 的 process-classes 和 prepare-package 阶段,但没有成功。

我最后的手段是将源代码从 APKLIB 中分离出来并将其混淆为 JAR,同时将 APKLIB 保留为 AIDL 文件和资源,并依赖于混淆的 JAR。但是,如果可能的话,我想避免这种情况,因为我们的项目已经有大量的库。

有谁知道是否有可能混淆 APKLIB?如果是这样,怎么办?

4

1 回答 1

-1

嗨,您问的是创建一个混淆的 jar 文件吗?

您可以通过向其中添加 build.xml 文件并在 proguard-project.txt 文件中进行更改并ant release从命令行运行“”来做到这一点,您将在项目的 bin 文件夹中的 proguard 文件夹下找到 obfuscated.jar。

脚步;

-> 要在 linux 的项目中添加 build.xml,请打开终端并转到 android/tools/ant 文件夹并运行./android update project -p /path of your android library project. 您将在项目根目录中找到 build.xml。

-> 要在编辑器中的项目中启用混淆,请打开一个project.properties文件并从中删除注释proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

-> 将您的更改添加到 proguard-project.txt 文件并在终端中转到您的项目并运行 ant release

于 2012-12-19T09:27:33.290 回答