Android调用C代码

1、开发工具:Android studio 2.0

2、开发前准备:

Android使用C代码-LMLPHP

2、

Android使用C代码-LMLPHP

3、

Android使用C代码-LMLPHP

4、下面我们就来开发我们的程序吧,

【1】创建一个java类

package com.admin.smartcam.jni;

import android.provider.Settings;

/**
* Created by Admin on 2017/7/13 0013.
*/ public class JavaToC {
{
System.loadLibrary("printC");
}
public native String sayHello();
}

【2】让编译器自动帮我们生成对应的C文件

Android使用C代码-LMLPHP

Android使用C代码-LMLPHP

生成的代码 如下【需要稍微修改一下】:

#include <jni.h>

JNIEXPORT jstring Java_com_admin_smartcam_jni_JavaToC_sayHello(JNIEnv* env ,jobject instance)
{
char* string="hello C and Java";
return (*env)->NewStringUTF(env,string);
}

5、
Android使用C代码-LMLPHP

6、开始编译我们的代码了:

Android使用C代码-LMLPHP

编译成功,我们就可以看到我们所生成的libprintC.so文件了

Android使用C代码-LMLPHP

6、接下来就是验证我们结果的时候了:

package com.admin.smartcam.jni;

import android.provider.Settings;

/**
* Created by Admin on 2017/7/13 0013.
*/ public class JavaToC {
{
System.loadLibrary("printC");//加载我们生成的.so文件
}
public native String sayHello();
}
//我们就可以开始调用了

 JavaToC javaToC=new JavaToC();
String sc=javaToC.sayHello();
Log.d("\n我是java调用C","输出结果:"+sc+"\n");

Android使用C代码-LMLPHP

05-28 09:22
查看更多