3

有没有办法防止 AndroidManifest.xml 被 DexGuard 混淆?似乎 MobileIron 在混淆我们的 Android 应用程序清单方面存在一些问题。它可以很好地处理“普通”应用程序,但会在混淆应用程序的清单中引发错误。

编辑:

我刚刚注意到xmlstrings混淆应用程序的表缺少一堆字符串:

aapt d xmlstrings c:\dev\app_obf.apk AndroidManifest.xml

String pool of 119 unique UTF-16 non-sorted strings, 119 entries and 0 styles using 5112 bytes:
String #0: 
String #1: 
String #2: 
String #3: 
String #4: name
String #5: 
.
.
String #18: versionCode
.
.
(up to String #25, then it is the same as in plain app)

而普通应用程序的列表如下:

aapt d xmlstrings c:\dev\app.apk AndroidManifest.xml

String pool of 119 unique UTF-16 non-sorted strings, 119 entries and 0 styles using 6744 bytes:
String #0: versionCode
String #1: versionName
String #2: minSdkVersion
String #3: targetSdkVersion
String #4: name
String #5: required
String #6: hardwareAccelerated
String #7: icon
String #8: label
String #9: debuggable
String #10: value
...

这会起作用还是正常行为?

该应用程序的普通版本和混淆版本都可以在设备上正常运行。

4

2 回答 2

1

如果有人仍在为此苦苦挣扎,这条线解决了我的问题:

-keepresourcexmlattributenames manifest/**
于 2020-01-28T20:57:00.623 回答
0

将以下内容添加到您的 DexGuard 配置--keepresourcefiles AndroidManifest.xml中,但 AFAIK 这是在默认的 DexGuard 配置中。

也许是 MobileIron 不喜欢的其他东西?可能值得发布您的 DexGuard 配置或使用 MobileIron 提出支持问题。

于 2015-12-03T09:20:24.390 回答