zygote AKInitializeOnce失败
fettdrac opened this issue · 2 comments
注入zygote时发生的情况,/system分区是只读的
虽然框架发布比较久了,也希望dalao能解决下这个问题
在JNI_CreateJVM回调里调用AKInitializeOnce出错,JVM和JNIEnv参数都没问题
05-19 09:40:40.442 2873-2873/? I/AndHook: SDK_INT = 22, IS_ART = true, ARCH = x86, BUILD = 20180719
CACHE_DIR = /sdcard/, LIBS_DIR = /system/lib/
05-19 09:40:40.449 2873-2873/? E/AndHook: failed to write dex file!
05-19 09:40:40.450 2873-2873/? E/AndHook: failed to load backup class!
感觉就这两个错误看的话这两个操作好像没必要?技术有限没法对着so改。。。
su的时候也会触发JNI_CreateJVM,这时候可以正常初始化并且HOOK java方法,很奇怪
05-19 09:47:14.718 2917-2917/? I/myCreateJVM: invoke hooked JNI_CreateJavaVM
p_vm=0xb76f58c8 p_env=0xbfa93b8c
05-19 09:47:14.731 2917-2917/? I/myCreateJVM: JNI_CreateJavaVM result is:0
inClass address:0x100001
callApplicationOnCreate address:0x6ff72760
05-19 09:47:14.745 2917-2917/? I/myCreateJVM: oldMethod address:0x73b5c4b0
CACHE_DIR = /sdcard/
不支持SD作为缓存路径
所以应该先用AKSetCacheDirectory设置CACHE_DIR吗
UPDATE:问题解决了,谢谢dalao