【问题标题】:Can an Android Library Project (APKLIB) be obfuscated by Proguard?Proguard 可以混淆 Android 库项目 (APKLIB) 吗?
【发布时间】:2012-10-10 14:30:52
【问题描述】:

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

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

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

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

有谁知道是否可以混淆 APKLIB?如果有,怎么做?

【问题讨论】:

  • 您希望您的客户如何使用您的 apklib?
  • APKLIB 是开发工具包的一部分,包含一系列 AIDL 文件和可打包类,允许第三方开发人员通过 IPC 与我们的远程服务进行交互。

标签: android maven obfuscation proguard android-library


【解决方案1】:

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

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

步骤;

-> 要在 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

【讨论】:

  • 如果您坚持传播相同答案的多个副本,请至少使用 formatted 版本:没有代码,因此无需使用代码标签在普通文本上。请务必阅读格式帮助(编辑时单击问号...)
猜你喜欢
  • 1970-01-01
  • 2014-05-31
  • 2013-07-26
  • 2012-09-10
  • 1970-01-01
  • 2015-08-11
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
相关资源
最近更新 更多