使用eclipse编译生成so

本文是百度各路大神的文章,然后自己亲自实现之后,写下来的

留待后用,若有问题,请指正

1:新建一个项目,包名别带下划线     以免后面.c文件分不清:

2:然后新建一个调用类:

public class HelloJni{

static{
        System.loadLibrary("");;//暂时不写加载什么类   后面生成好后再填上去
    }
    
    public native String getText();
    
}

3:项目右键   Android Tolls ----> Add Native Surport...填上想要的SO库名字,生成mk  cpp文件

       这样就会在项目里面生成一个jni文件夹,可以看到Android.Mk和  xxx.cpp

4:打开CMD窗口,cd到项目的bin文件夹下面的classes,然后点右键运行项目,不需要真实运行,在选择设备的时候取消就是了,运行的目的是生成.class文件

      在classes文件夹里面,找到JniSo.class,此时切换到CMD   输入  javah -classpath . -jni com.example.jniget.HelloJni(JniSo的包名加类名)

      运行之后如果没报错,就会在classes文件夹下生成一个com_example_jniget_HelloJni.h,将他复制到项目的jni文件夹下

5:编写.cpp文件    打开xxx.cpp文件,输入

#include <string.h>
#include <jni.h>

jstring Java_com_example_jniget_HelloJni_getText(JNIEnv* env, jobject thiz) {
    return (*env)->NewStringUTF(env, "--------------\n------------------\n----------\n");
}

这里是.c,所以可能和网上其他文章有差别,因为.cpp是用C++   .c就是用C

6:选中项目,ctrl+B,构建之后,就能在libs文件夹下看到对应生成的SO文件

7:把so文件的名字前面的lib去掉填入上面的load里面,然后就可以在其他地方调用


简单的项目地址:http://download.csdn.net/detail/qq_24179679/9776799

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值