能力值:
( LV3,RANK:30 )
|
-
-
2 楼
编译选项 LOCAL_LDLIBS := -llog $(LOCAL_PATH)\libdvm.so $(LOCAL_PATH)\\libandroid_runtime.so
c代码 static JavaVM *g_JavaVM; g_JavaVM = android::AndroidRuntime::mJavaVM;
最后于 2018-12-26 00:02
被猫子编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
猫子
编译选项LOCAL_LDLIBS := -llog $(LOCAL_PATH)\libdvm.so $(LOCAL_PATH)\ ...
CMake编译的话怎么设置呢?
|
能力值:
( LV3,RANK:30 )
|
-
-
4 楼
https://github.com/CalebFenton/native-harness-target
|
能力值:
( LV3,RANK:30 )
|
-
-
5 楼
mistyes
CMake编译的话怎么设置呢?
cmake没试过,应该就是添加库的问题,你自己可以试试
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
猫子
cmake没试过,应该就是添加库的问题,你自己可以试试
我用dlsym(librt_dso, "_ZN7android14AndroidRuntime7mJavaVME")试了一下,用java调用jni本地方法可以获取到JavaVM对象,但是如果把c代码单独编译成一个可执行文件的话,main函数里获取不到. 按照我的理解,可执行文件也是一个单独的进程,而每个进程都是运行在一个虚拟机里,执行文件运行前系统也应该调用Creat_JavaVM为它分配一个虚拟机,,但是android::AndroidRuntime::mJavaVM却获取不到,不知道为什么? 也许应该在可执行文件里自己调用android::AndroidRuntime::Creat_JavaVM创建虚拟机,只有有空试试才知道了
最后于 2018-12-26 22:46
被mistyes编辑
,原因:
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
mistyes
猫子
cmake没试过,应该就是添加库的问题,你自己可以试试
我用dlsym(librt_dso, "_ZN7android ...
elf文件运行不需要虚拟机
|
|
|