2013-09-24 3 views
2

Я пытаюсь выполнить dexguard приложение, которое я запускаю как системное приложение.<activity> не имеет действительного андроида: имя при dexguarding

Однако, когда я пытаюсь нажать его в каталог system/app, я получаю следующую ошибку от PackageParser.

W/PackageParser(1995): /system/app/My.apk (at Binary XML file line #290): <a 
ctivity> does not have valid android:name 

Я также добавил следующее к dexguard-project.txt, но безрезультатно.

-keepresourcexmlattributenames 
    manifest/installLocation, 
    manifest/versionCode, 
    manifest/package, 
    manifest/versionName, 
    manifest/application/*/intent-filter/*/name, 
    manifest/application/*/activity/name 

Кто-нибудь знает, как решить эту проблему?

UPDATE

Хорошо от того, что я вижу manifest/application/*/activity/name успешно остановили android:name атрибуты из того запутывается в манифесте (я могу видеть простой текст, когда я извлечь файл манифеста после запутывания).

Как ни странно, android:name в теге действия в строке #290 не может быть найден в извлеченном файле манифеста. Все остальные названия активности можно увидеть в виде обычного текста.

ответ

0

Я узнал, что это связано с тем, что действия, которые дали эту ошибку, находятся в файле манифеста, но не было соответствующих классов java.

Извлечение записей из файла манифеста решило проблему.

2

В моем случае название пакета для класса начиналось с прописной буквы

+0

Один телефон был в порядке с прописными буквами, но другого не было. –