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

mae*_*chi 5 android self-modifying

当我阅读Google Play政策时,我在这句话中有一个问题.

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

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

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

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

Kry*_*ton 0

尽管政策不允许,但如果 Google 没有检测到我们这样做,我们就是安全的。

有几种方法可以动态加载二进制代码(AKA)DEX file。因此,在运行时,您下载更新的 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