|
本帖最后由 328289559 于 2014-11-2 17:01 编辑
其实WSM(Xposed)是一种对框架(framework)进行注入的修改方式,藉由对框架的
修改来达成变更程式框架的目的,但是我们所使用的红米Note却使用了预先编译好
的.jex档案来工作,因此导致WSM对框架进行注入后所预料得到的执行结果无法发生,
进而造成程序崩溃而引发卡黄米.为了解决这个问题,其实只要把预先编译的.jex档案
移除,让机器在运行时正确去使用经过注入的框架,那么就不会有问题了.
另外是关于运行闪退,如果单纯删除.jex却会遇到闪退的情况,那么就需要让安桌系统
取消JIT的环境编译,以求系统的稳定运行,关于这点,是Xposed的开发大神提到的,
dalvik.vm.execution-mode=int:fast
dalvik.vm.jit.codecachesize=0
说了一堆,就让我们进入正题吧,到底要怎么修改:
1.使用Root Explorer删除/system/framework目录中的几个档案 (依照你自己的使用需求去删)
secondary-framework.jar.jex, services.jar.jex (这两个档案必删,不删的话会卡黄米)
android.policy.jar.jex (想使用Mi-Tools就得删这个档案)
删完上述三个档案,你的WSM+Mi-Tools已经可以正常使用了
framework.jar.jex (我有使用App Settings,所以这个得删)
要裝Xprivacy的大大們,只要再把Core.jar.jex這個檔刪除或重命名
其他你还有需要用什么,就自己去试,看删了那个后你使用的外挂可以正常使用,
如果怕删错,那就更改档案结尾为.bak就好,不对再换回即可.
怕麻烦的直接把整个/system/framework目录中的*.jex全删了就好
(mediatek-开头的建议不要删,推测不会与使用的框架注入有什么关系)
2.修改/system/build.prop,添加底下内容
(1)在最后一行添加: dalvik.vm.execution-mode=int:jit(开启JIT) dalvik.vm.execution-mode=int:fast(关闭JIT)(这目的是关闭JIT,避免闪退)
(2)在APK的AndroidManifest.xml中把<application>的Android:vmSafeMode属 性设置true就可以对APK禁用JIT。
示例: <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="test.ts.wader.mytest"
android:versionCode="1"
android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:vmSafeMode="true">
<activity
android:label="@string/app_name"
android:name=".MyTestActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>
3.重启机器
4.安装你的WSM或是Xposed吧
|
|