从混淆中排除清单文件

时间:2015-12-02 15:34:48

标签: android android-manifest dexguard mobileiron

有没有办法阻止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
...

这可能起作用还是正常行为?

应用程序的简单和混淆版本在设备上都运行良好。

2 个答案:

答案 0 :(得分:1)

如果有人仍在为此挣扎,此行可以解决我的问题:

-keepresourcexmlattributenames manifest/**

答案 1 :(得分:0)

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

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