我想从没有共享库的C代码调用Java函数 并且之前没有调用某些Java函数。
我知道如何调用我的Java函数,但我需要获得Env和JavaVM,而我真的不知道如何得到它。我不能使用JNI_CreateJavaVM
或JNI_OnLoad
因为我在Android上工作。我正在使用android-ndk-r13b
来构建C代码。
我正在使用Eclipse Juno。
我怎么解决这个问题?
答案 0 :(得分:0)
在我看来,您可以使用的最佳方法是在Java代码中使用RESTful API,因此您的C代码可以通过JSON请求/响应访问该函数。如果您解释为什么需要C中的代码,将会有所帮助.C代码是在单独的项目中还是由Java代码生成?
答案 1 :(得分:0)
根据我对NDK的使用,你可以从android调用JNI_OnLoad函数。从那里你可以使用静态方法或实例对象调用你想要的任何类。
if(!AccessPermission.getPermmission(this)){
AccessPermission.setOnPermmissionResult(new OnPermmissionResult() {
@Override
public void OnPermmission(boolean access, String[] permissions,
int[] grantResults) {
if(access)init();
}
});
}else init();