下一版Android将为根应用程序开发人员带来更多问题
您可能还记得几个月前,XDA高级公认开发人员Chainfire分析了AOSP即将进行的 一些更改,这些更改可能会出现在下一个公开发布的Android版本中。作为快速刷新,当时存在问题的两个提交通过阻止SU二进制文件执行存储在/ data 分区上的文件,使 根应用程序开发人员的生活更加困难 。由于此更改,必须从/ data分区中特定于应用程序的目录提取并执行文件的启用根的应用程序 进行更新,才能在下一版本的Android上运行。幸运的是,Chainfire详细介绍了一些可能的解决方法,这些解决方法已添加到“ 如何使用”页面中。这些解决方法包括从RAM或rootfs中提取代码并运行代码,将命令直接传递给SU,等等。
现在,对AOSP进行了一些更改,很可能会出现在Android的下一版本中-可能是4.4.3、4.5,也可能是Google决定授予该新版本的任何其他版本。首先,与Chainfire以前的变通方法相比,对SELinux进行更改以使其更加安全的做法现在需要更复杂的上下文切换。接下来,似乎ART确实将成为下一版Android中的默认运行时编译器。并且由于其当前的不成熟状态和SELinux施加的限制,ART可能会导致崩溃,从而在进行错误的调用时导致整个系统崩溃。最后,似乎非静态生成的可执行文件现在需要从Android 4.1开始受支持的PIE(与位置无关的可执行文件)。
尽管进行了上面详细介绍的所有更改,Chainfire已经构建并发布了新版本的SuperSU(1.97),可以解决所有潜在问题。您可以直接从SuperSU线程获得此构建。Chainfire还更新了他的“ 如何使用”指南,其中包含有关这些更改以及如何解决这些更改的信息。