0

我正在使用 r8 dexer 从一堆 *.class 文件中制作 classes.dex 文件。我想对我的所有类使用混淆功能,但问题是我也有指定类名的 AndroidManifest.xml 文件。因此,我必须知道 r8 转换从哪个名称到哪个名称,以便相应地更改我的 AndroidManifest.xml。问题是 - 如何制作这样的地图?

到目前为止,情况如下:

javac -cp $CLASSPATH -source 1.8 -target 1.8 com/obs/*.java
#dx --dex --output classes.dex com/obs/*.class $(cat classes.json | jq .[] | xargs -I{} echo -n "{} ")

# https://r8.googlesource.com/r8/+/refs/heads/d8-1.5.13
# https://r8.googlesource.com/r8/+archive/refs/heads/d8-1.5.13.tar.gz
#
java -jar /opt/r8/build/libs/r8.jar --version
java -jar /opt/r8/build/libs/r8.jar --release --output . --pg-conf proguard.cfg $(echo -n "$CLASSPATH" | xargs -I{} -d: echo -n " --lib {} ") com/obs/*.class $(cat classes.json | jq -r .[] | xargs -I{} echo -n "{} ")
4

2 回答 2

1

哦。显然找到了。

-打印映射

https://www.guardsquare.com/en/products/proguard/manual/usage

于 2019-09-20T15:41:37.853 回答
0

在 R8 命令行上,您可以使用该选项--pg-map-output <file>而不是添加-printmapping到配置中。

使用 Android Gradle 插件构建时minifyEnabled true,映射文件默认生成在app/build/outputs/mapping/release.

于 2019-09-23T13:06:48.610 回答