Open tangxianqiang opened 1 year ago
I have two project. Project A and Project B. The project A return “ /data/app/~~CO_gep4LvPJ4O0K5jpDa3Q==/com.cnsgta.singpassion-rJx-gIA5vvcs_YktINesDA==/lib/arm64/libnative-lib.so ” when excute "parse_proc_maps_to_fetch_path". But the Project B does not return it on the same device. It is so so so so so weird!!!!
I don't know why the libnative-lib.so I loaded doesn't show up in /proc/self/maps, but another project does. They are all on the same device. The code is also the same.
fetch_checksum_of_library(filePaths[i], &elfSectionArr[i]);
if (filePaths[i] != NULL)
free(filePaths[i]); //crash!!!!!!!!!!!
}
thanks for let me to commit the info, please tell me why......
I found the reason, but I don’t know how the bottom layer of Android is designed, and why adding android:extractNativeLibs="true" is enough. Will android:extractNativeLibs="true" affect the shared library information in /proc/self/maps? #18 maybe the same reason
@tangxianqiang are you able to figure it out and fixed this issue in your project ?
@tangxianqiang are you able to figure it out and fixed this issue in your project ?
android:extractNativeLibs="true" is ok for me.
the source code ``` if ((fd = my_openat(AT_FDCWD, PROC_MAPS, O_RDONLY | O_CLOEXEC, 0)) != 0) {