ProGuard使用Guava的Andriod项目
一个Android项目,如果使用了Google的Guava,需要怎么配置才能正确使用ProGuard
1 额外的Jar包
如果一个Android工程中使用了 Guava,则在ProGuard项目时,还需要引入两个额外的Jar包
下载后,一并放入 libs 目录。
如果熟悉Maven,可以先将在Android项目的 libs 目录下创建一个 pom.xml 文件,内容如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.fanhongtao</groupId>
<artifactId>ProGuard</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>depend-libs</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
</dependencies>
</project>
然后执行
mvn dependency:copy-dependencies -DoutputDirectory="."
即可自动将需要的Jar包下载到当前目录。最后删除 pom.xml 即可。
2 ProGuard 配置示例
-dontoptimize -dontobfuscate -dontwarn sun.misc.Unsafe -dontwarn com.google.common.collect.MinMaxPriorityQueue
由于使用 Ant打包 APK时,会自动将包含 libs 目录下的 jar 包,所以不需要在 proguard-project.txt 中写类似如下的内容
-injars libs/guava-r07.jar -libraryjars libs/jsr305.jar
参考
声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权,转载请注明出处。