Исключение файла манифеста из обфускации
Есть ли способ предотвратить запутывание 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
...
Может ли это играть роль или это нормальное поведение?
Как простая, так и запутанная версия приложения прекрасно работают на устройствах.
1 ответ
Если кто-то все еще борется с этим, эта строка решила проблему для меня:
-keepresourcexmlattributenames manifest/**
Добавьте следующее в вашу конфигурацию DexGuard --keepresourcefiles AndroidManifest.xml
однако AFAIK это в конфигурации DexGuard по умолчанию.
Может быть, что-то еще, что MobileIron не нравится? Возможно, стоит опубликовать свой конфиг DexGuard или поднять проблему поддержки с MobileIron.