找了好久关于android调用C/C++库的文章,但是始终没有一片是关于android利用jni调用C++自定义类的文章,无奈只好看android的源代码,学习android的图形库的实现,因为它的实现底层也是利用C++的skia库。下面就3个文件来描述。
首先是你在java中的一个类,用于你在应用程序中调用这里取名叫Person类
package whf.jnitest;
public class Person {
static
{
System.loadLibrary("Person");
}
private int mNativePerson;
public Person()
{
mNativePerson = init();
}
protected void finalize()
{
try {
finalizer(mNativePerson);
} finally {
try {
super.finalize();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public int getAge()
{
return native_getAge(mNativePerson);
}
public void setAge(int age)
{
native_setAge(mNativePerson, age);
}
private native void finalizer(int nPerson);
public native int add(int a, int b);
public native int sub(int a, int b);
private native int init();
private native int native_getAge(int nPerson);
pr

本文介绍如何在 Android 应用中通过 JNI 调用 C++ 自定义类的方法。通过创建 Java 层的 Person 类并与 C++ 的 CPerson 类交互,实现了基本的属性读写操作。

1万+

被折叠的 条评论
为什么被折叠?



