Flyme6 Patchrom 项目笔记
2017/5/12大约 1 分钟约 302 字
基于JDC-AOSP
本来不想搞编译,无奈现有的AOSP底包并不令人满意,恰好JDC-TEAM有现成的Device Tree。就打算重新编译一下,加点优化。做个满意的底包。
遇到的问题与解决
问题 Zygote Not whitelisted :
原因是谷歌新的安全补丁加入了白名单
05-11 20:24:25.408 3346 3346 E Zygote : Not whitelisted : /system/framework/flyme-res/flyme-res.apk
05-11 20:24:25.408 3346 3346 F art : art/runtime/jni_internal.cc:497] JNI FatalError called: frameworks/base/core/jni/com_android_internal_os_Zygote.cpp:478: Unable to construct file descriptor table.解决方案
修改安卓源码 com_android_internal_os_Zygote.cpp 删除导致崩溃的部分
if (gOpenFdTable == NULL) {
gOpenFdTable = FileDescriptorTable::Create();
if (gOpenFdTable == NULL) {
RuntimeAbort(env, __LINE__, "Unable to construct file descriptor table.");
}
} else if (!gOpenFdTable->Restat()) {
RuntimeAbort(env, __LINE__, "Unable to restat file descriptor table.");
}
if (!gOpenFdTable->ReopenOrDetach()) {
RuntimeAbort(env, __LINE__, "Unable to reopen whitelisted descriptors.");
}寄存器超过15
使用以下尝试转换
move/from16 B, A出现from16的情况一般是一个方法里使用的寄存器超过15个
B是目的寄存器
最后别忘了move-result