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

时间:2014-08-01 05:31:28

标签: android self-modifying

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

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

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

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

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

1 个答案:

答案 0 :(得分: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