1
有没有办法阻止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
...
这可能会起到一个作用,还是它是一种正常行为?
应用程序的简单和混淆版本在设备上运行得很好。
不幸的是,DexGuard 6.1会抛出一个错误,说 'Unknown option'-keepresourcefiles'' – kibitzerCZ
对不起,我正在使用DexGuard 7 - 当然资源混淆是新功能。 – scottyab
今天用'-keepresourcefiles AndroidManifest.xml'和'-keepresourcexmlattributenames manifest/*'选项试用了DexGuard Enterprise 7.0.32,结果与6输出相同。012og另一方面,Proguard保持“xmlstrings”表不变。奇怪的。可能我们将不得不与DexGuard支持联系。 – kibitzerCZ