2016-12-29 104 views
2

我在我的应用程序中使用Dexguard,我想混淆延伸Activity类的类,我知道这很难,因为它在Manifest文件中被引用。 我的问题是:有没有什么办法来混淆它在Manifest文件中被引用的类?如何使用Dexguard对Manifest文件中引用的类进行混淆?

+0

为什么你不能混淆它?你可以像其他任何类一样混淆它。你唯一不能做的就是改变类名或包名,只要保持不变就不会有任何问题。 –

+0

实际上,正如我所见,在Manifest文件中引用的所有类都没有完全混淆,尽管对我来说可以,但仍需要更改类名称和包名称。 – MrDEV

+0

@XaverKapeller有没有办法做到这一点? – MrDEV

回答

1

DexGuard尽可能混淆了类,字段,方法,资源,资源文件,资产文件和本地库的名称,并且在代码,清单和其他资源中调整它们的出现次数。更具体地说,DexGuard确实混淆了活动类的名称并相应地更新了清单。但是,它不会混淆导出的活动的名称,显式(导出=“true”)或隐式(使用意图过滤器)。 Android运行时将这些名称视为公共API,例如对其他应用程序可见,所以需要保留它们。

+0

我triecd使用-applymapping功能..但在可能映射文件我得到错误“ProguardTokenType.CRLF,ProguardTokenType.FLAG_NAME,ProguardTokenType.LINE_CMT或ProguardTokenType.WS预期,得到'c'”我的映射文件只有一行: “com.android.appname.TermsAndPrivacyActivity - > com.android.dex.f:” –