在这种情况下,我有一个实例变量TAG,它只是我使用MainActivity.class.getsimpleName()方法获取的类名。
例如:public static final String TAG=MainActivity.class.getsimpleName();
我正在使用这个TAG变量来跟踪我的谷歌分析。事实上,由于pro guard,我的变量是obfuscated,我得到了一些无用的字符串作为我的类名来跟踪,因此分析是不可能的,我有100个类来硬编码每个类的所有TAG变量(我将作为我最后的手段)。
我还想对代码进行混淆,以维护我的应用程序的一些安全性。有没有办法让TAG变量不被混淆,或者有什么办法让我的分析更有意义。
我怎样才能有效地解决这个问题?
发布于 2016-07-27 22:30:00
public static final String TAG = "MainActivity";
如果您想要更改TAG的值,让AndroidStudio为您重构它。
这是唯一的可能性,因为TAG没有被混淆。这是被混淆的TAG所有者。
如果我是对的,那么您的活动对此没有问题(因为AndroidManifest需要精确的语法)。但你的碎片是。这对于重构来说仍然没有什么价值。
尝试使用regex AndroidStudio函数来节省您的时间,如下所示:
查找:TAG = (.+).class.getSimpleName\(\); replace :TAG = "$1";
发布于 2016-07-28 16:22:50
作为一个缺点,这样的解决方案在很大程度上取消了大小/混淆的改进,因为代码现在再次包含原始的类名,尽管是间接的。
https://stackoverflow.com/questions/38615254
复制相似问题