繁体   English   中英

一起使用Java和C ++的Android项目

[英]Android project using java and C++ together

任何人都有一个同时使用C ++和Java的android项目的示例,例如,一个在eclipse上构建的普通android项目,然后在其中添加一个cpp类并在java类上使用此cpp类。

说我在C ++上有一个Foo类

class Foo{
...
}

我在Java上有一个类MyActivity

public class MyActivity extends Activity{
...
}

我如何在MyActivity类上实例化Foo类?

非常感谢大家。

首先,您必须使用build_ndk.sh在您的c ++类中创建一个.so

在C ++方面,您必须声明您的JNI方法

JNIEXPORT void JNICALL 
Java_org_your_ackage_someFunction(JNIEnv * env, jobject  obj)
{}

在Java方面

public class YourActivity extends Activity {
    // Load Native Libary
    static {
        System.loadLibrary("your_lib_name");
    }

    public native void someFunction();
}

然后像在Java中一样使用该函数。

您应该看一下这个不错的教程

如果您只是想学习如何使用NDK,请查看NDK目录中的文档和示例。

我建议从hello-jni示例开始,该示例非常容易理解。 它显示了如何从Java调用C / C ++方法。

您可以在path/to/<android-ndk-folder>/samples下找到许多Android NDK示例。 docs文件夹以及官方网站上也有很多有用的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM