如何同时在android项目和服务项目上应用proguard
我正在尝试在我的android应用程序中使用proguard,我已经在一个单独的项目中编写了所有服务,并通过maven打包为服务jar。我在我的 UI 项目中使用这个服务 jar 作为依赖项。
我正在使用 maven android 和 proguard-maven-plugin 来构建/发布我的 UI 项目。我的问题是如何同时为两个项目应用Proguard,可以吗?
我尝试在服务项目上单独运行 proguard 并将该 jar 添加到 UI 项目中,但它不起作用。请指导我解决这个问题。
I'm trying to use the proguard in my android application, I've wrote all my services in a separate project and package through maven as service jar. I'm using this service jar as dependency in my UI project.
I'm using maven android and proguard-maven-plugin to build/release my UI project. My question is how to apply Proguard for both project at same time, is it possible to do?
I tried running proguard separately on service project and add that jar to UI project but it's not worked.please guide me to solve this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您不应该在 Android 应用程序引用的 jar 文件上运行 proguard(在您的特定情况下,而不是一般情况下)。
以下是 Android 应用程序的编译方式:
.java
文件编译为.class
。.class
文件。.class
文件(应用程序的.class
文件 + 所有 jar 的 .class 文件)。.class
文件转换为dex
格式,从而生成classes.dex
文件基本上,您不应该在使用的 jar 文件上应用 proguard通过 Android 应用程序。如果您必须应用混淆器,请确保您的 Android 应用程序使用的所有类、接口等都不会被混淆器混淆。
我建议只使用 Android 的构建系统 proguard 步骤,称为
-obfuscate
。这将是最简单的方法(当崩溃报告开始出现时,这会让你的生活变得更轻松)。You shouldn't run proguard on jar file which are references by your android application (in your particular case, not in general).
Here is how android application is being compiled:
.java
files into.class
..class
files from them..class
files (your application's.class
files + all jars' .class files)..class
files todex
format which results inclasses.dex
fileBasically, you shouldn't apply proguard on a jar file that is used by Android Application. If you have to apply proguard, then make sure all classes, interfaces, etc. that are used by your Android Application are not obfuscated by proguard.
I would recommend to just use Android's build system proguard step called
-obfuscate
. That would be the easiest way to go (and would make your life much easier when crash reports start coming in).