android - 我可以在 Android 中使用自修改吗?

标签 android self-modifying

当我阅读 Google play 政策时,我对这句话有疑问。

从 Google Play 下载的应用不得使用 Google Play 更新机制以外的任何方法修改、替换或更新其自身的 APK 二进制代码。

这意味着开发人员不能使用自修改代码??

例如,当用户第一次运行我的应用程序时,我的应用程序会修改其二进制代码。

如果我使用它,我可以使用自修改代码上传我的应用程序吗?

最佳答案

虽然政策不允许,但如果 Google 没有检测到我们在做,我们就是安全的。

有几种方法可以动态加载二进制代码 AKA DEX 文件。所以在运行时你下载更新的 dex 文件并运行它。这是非常有名的。您可以在这里找到一些信息 http://android-developers.blogspot.sg/2011/07/custom-class-loading-in-dalvik.html

Facebook 应用程序确实使用动态类加载,因为他们的代码中的方法数量超过 64K,因此他们必须将代码拆分为多个 dex 文件并在运行时动态加载。因此,如果 Facebook 可以,那么我想我们也可以开始了。

Facebook 的以下博客陈述了他们面临的问题以及他们是如何解决的 https://m.facebook.com/notes/facebook-engineering/under-the-hood-dalvik-patch-for-facebook-for-android/10151345597798920

关于android - 我可以在 Android 中使用自修改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073434/

相关文章:

android - 谷歌地图 V2 的 setMapType

java - Android 移动设备未显示在 Eclipse 的设备选择器上

android - 从ListView获取播放Audio的路径

c - 在汇编中编写 JIT 编译器

linux - 自修改代码总是在 Linux 上出现段错误

c - 带有函数指针的 Memcpy 会导致段错误

c - 自修改代码,复制/跳入堆失败

android - 如何在 Android Studio 中将 Google Play Services repo 更新到最新版本?

android - ViewPager 中的 fragment 返回空对象 onResume

c# 多个计时器编辑同一个列表