2013-09-24 61 views
2

我試圖對我作爲系統應用程序運行的應用程序進行dexguard。<activity> dexguarding沒有有效的android:name

但是當我嘗試把它推到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屬性。

但是,在提取的清單文件中找不到在行#290處的活動標記中的android:name。所有其他活動名稱都可以以純文本形式顯示。

回答

0

我發現,這是因爲這給了這個錯誤的活動是在清單文件,但沒有相應的Java類。

從清單文件中刪除條目解決了問題。

2

在我的情況下,該類的包名稱以大寫字母開頭

+0

一個電話用大寫字母很好,但另一個不是。 –