能力值:
( 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 楼
270K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6o6j5h3I4W2j5V1k6W2L8Y4c8G2L8W2)9J5c8X3&6S2N6r3W2$3k6g2)9J5k6r3S2S2M7X3&6W2M7%4y4Q4x3X3c8@1j5i4u0Y4k6i4b7`.
|
能力值:
( 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文件运行不需要虚拟机
|
|
|