Android使用C代码

Android调用C代码

1、开发工具:Android studio 2.0 

2、开发前准备:

2、

3、

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文件

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

#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、

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

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

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("
我是java调用C","输出结果:"+sc+"
");

原文地址:https://www.cnblogs.com/ywf520/p/7161940.html