如何同时在android项目和服务项目上应用proguard

时间:2011-05-14 20:00:54

标签: android jar proguard

我正在尝试在我的Android应用程序中使用proguard,我已经在一个单独的项目中编写了我的所有服务,并通过maven作为服务jar包。我在我的UI项目中使用此服务jar作为依赖项。

我正在使用maven android和proguard-maven-plugin来构建/发布我的UI项目。我的问题是如何同时为这两个项目申请Proguard,是否可以做到?

我尝试在服务项目上单独运行proguard并将该jar添加到UI项目但是它没有工作。请指导我解决这个问题。

1 个答案:

答案 0 :(得分:1)

你不应该在jar文件上运行proguard,它是你的android应用程序的引用(在你的特定情况下,不是一般的)。

以下是如何编译android应用程序:

  1. 将所有.java个文件编译为.class
  2. 解压缩所有jar文件并从中提取.class个文件。
  3. 将proguard应用于所有.class个文件(您的应用程序的.class个文件+所有jars'.class文件)。
  4. .class个文件转换为dex格式,从而生成classes.dex个文件
  5. 基本上,您不应该在Android应用程序使用的jar文件上应用proguard。如果您必须应用proguard,请确保您的Android应用程序使用的所有类,接口等不会被proguard混淆。

    我建议只使用Android的构建系统proguard步骤-obfuscate。这将是最简单的方法(并且当崩溃报告开始进入时会让您的生活更轻松。)