Question

I am trying to dexguard an application that I run as a system application.

However when I try to push it to the system/app directory, I get the following error from the PackageParser.

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

I have also added the following to the dexguard-project.txt but to no avail.

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

Does anyone know how to solve this issue?

UPDATE

Ok from what I see the manifest/application/*/activity/name successfully stopped the android:name attributes from being obfuscated in the manifest (I can see the plain text when I extract the manifest file after the obfuscation).

However strangely enough android:name in the activity tag at line #290 cannot be found in the extracted manifest file. All the other activity names can be seen in plain text.

Was it helpful?

Solution 2

I found out that this is because the activities that gave this error are in the manifest file but there were no respective java classes.

Removing the entries from manifest file solved the issue.

OTHER TIPS

In my case the package name of the class started with a Capital letter

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top