1

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

说我有一个关于 C++ 的类 Foo

class Foo{
...
}

我有一个关于 Java 的 MyActivity 类

public class MyActivity extends Activity{
...
}

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

非常感谢大家。

4

3 回答 3

1

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

在 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 中那样使用该函数。

你应该看看这个不错的教程

于 2012-10-23T16:26:18.027 回答
0

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

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

于 2012-10-23T16:19:20.710 回答
0

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

于 2012-10-23T16:38:36.807 回答