我有一个类似J2V8的项目,该项目将v8 bundle 到了android。但是在编译后,J2V8具有所有v8符号,但是similar project丢失了所有v8符号。您可以使用以下命令检查原始的J2V8.so here
nm -D libj2v8.so | grep "GetIsolate"
你会得到像
003530fc T _ZN2v815SnapshotCreator10GetIsolateEv
003613c4 T _ZN2v86Object10GetIsolateEv
0035f78c T _ZN2v87Context10GetIsolateEv
0038c354 W _ZNK2v88internal10HeapObject10GetIsolateEv
00503a78 T _ZNK2v88internal11MessageImpl10GetIsolateEv
00503b4c T _ZNK2v88internal16EventDetailsImpl10GetIsolateEv
但是在编译sample project之后,相关的输出为none。
最佳答案
对于Android Studio项目(库.aar
或应用程序.apk
),在构建过程中,有一个步骤要剥离动态共享库的调试符号.so
。
如果要保留所有符号,请在build.gradle
中添加以下配置。
android {
...
packagingOptions{
doNotStrip "*/armeabi/*.so"
doNotStrip "*/arm64-v8a/*.so"
doNotStrip "*/armeabi-v7a/*.so"
doNotStrip "*/x86/*.so"
doNotStrip "*/x86_64/*.so"
}
...
}