2016-06-07 29 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被引用。