2016-06-07 65 views
6

我有一個特殊情況,我需要刪除一個Activity,它不是在代碼本身中使用,也不是在Manifest中引用。換句話說,它是沒有被模糊的死代碼,所以我想擺脫它。從apk通過Proguard移除活動

正常的約束保持類擴展Activity這是很好的一般,但保持了死代碼。

我該如何排除這個特殊的Activity

+0

你從AndroidManifest文件中移除了Activity嗎? – Vyacheslav

+0

@Vyacheslav是從問題中提到的清單中刪除它。 – rekire

+0

如果你在jar-reader中打開你的類,Activity中會顯示什麼方法? – Vyacheslav

回答

0

aapt進程將生成ProGuard規則,該規則將被自動附加幷包含資源文件中的任何引用類。

的規則在以下目錄中創建:

build/intermediates/proguard-rules/<variant>/aapt_rules.txt 

在該文件中的規則還引用原點:

# view AndroidManifest.xml #generated:14 
-keep class com.example.HelloWorldActivity { <init>(...); } 

在這個例子中,類com.example.HelloWorldActivityAndroidManifest.xml被引用。