【问题标题】:Workaround for Obfuscaton of Activity Names活动名称混淆的解决方法
【发布时间】:2020-06-26 13:22:43
【问题描述】:

我想混淆我的活动名称。我确实从其他问题中了解到,即使使用 ProGuard,您也无法混淆活动名称,因为它们是由它们的名称引用的。

但是,如果可以在编译之前更改活动名称,为什么不能使用某些脚本将活动名称自动更改为预定义的阴暗名称,或者使用一些 ProGuard 规则将活动名称映射到预定义名称。

例如,我可以执行以下操作:

MainActivity -> GibberishName

ProcessingActivity -> OtherGibberishName

我想自动执行此任务,而不必在每次构建时更改活动名称。

谢谢。

【问题讨论】:

  • 您能否在问题标题中添加更多信息以提供一些背景信息?
  • 有一个gradle插件,你可以在这里查看https://github.com/eleme/Mess我还没有测试过

标签: android security obfuscation


【解决方案1】:

将以下几行放入您的应用级 build.gradle 文件中:

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    } 

但它仍然不会混淆您的活动名称,因为这是正常行为。

Activity 名称永远不会混淆,因为它们在 manifest.xml 中被引用,并且 android 通过反射访问这些 Activity,因此它们的名称无法更改。

查看此链接https://stackoverflow.com/a/20620108/1320616

【讨论】:

  • 我正在使用 ProGuard,但它不会混淆活动名称。
  • 感谢您的努力,库斯图夫。请检查我原来的问题。我知道 ProGuard 不能混淆活动名称。但是,如果您可以自己更改活动名称,包括在清单中。为什么不能有一个脚本来帮助您做到这一点,例如将您的活动名称映射到您的预定义阴暗名称。这是我的问题。
猜你喜欢
  • 2011-10-17
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
相关资源
最近更新 更多