当我阅读谷歌播放政策时,我对这句话有一个疑问。
从 Google Play 下载的应用程序不得使用 Google Play 更新机制以外的任何方法修改、替换或更新自己的 APK 二进制代码。
这意味着开发人员不能使用自修改代码??
例如,当用户第一次运行我的应用程序时,我的应用程序会修改其二进制代码。
如果我使用它,我可以使用自修改代码上传我的应用程序吗?
当我阅读谷歌播放政策时,我对这句话有一个疑问。
从 Google Play 下载的应用程序不得使用 Google Play 更新机制以外的任何方法修改、替换或更新自己的 APK 二进制代码。
这意味着开发人员不能使用自修改代码??
例如,当用户第一次运行我的应用程序时,我的应用程序会修改其二进制代码。
如果我使用它,我可以使用自修改代码上传我的应用程序吗?
虽然政策不允许,但如果 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