android studio ndk配置

          

折腾了一天,总算把ndk的创建给搞定了,网上了找了很多资源,大多都是对eclipse的ndk配置,但是现在ecl又不是很好用了,自己在android studio上就想着配一下。

我想环境配置不必多说,编程andorid的相比都是会配置环境变量的,这里只要到官网下载一下ndk得本地然后配置环境变量就可以了,网上这类教学蛮多的,之后开始

1,新建一个android项目并且在那个主类中申明一个方法

public static native String showString();//就算红的页无所谓
2.在java的同级别下面新建一个jni的文件夹,之后在cmd中写点什么,将目录调节至当前目录的main下,这点跟ecl很不一样,纠结了半天。之后用javah -classpath 这后边跟上你的工程路径的build\intermediates\classes\debug;
在分号加上一个android.jar的目录,之后在 -d jni 跟上你工程的包名和类名。 下面给出我的cmd中所写的。
E:\skl\stiodworkspace\New_project_2016\myself_text_ndk\src\main>javah -classpath
 E:\skl\stiodworkspace\New_project_2016\myself_text_ndk\build\intermediates\clas
ses\debug;E:\skl\soft\android_studio\sdk\platforms\android-17\android.jar -d jni
 android.myself_text_ndk.MainActivity

3,之后在项目的jni文件夹中会出现一个.h的文件,找到其中的 大概:

JNIEXPORT jstring JNICALL Java_android_myself_1text_1ndk_MainActivity_getStringFromC
  (JNIEnv *, jclass);
这句话复制下来,

在再同级别下建立一个.c文件,学过c的都知道要加一个头文件就是将外面的h文件加载进来之后将复制的粘贴进来作为方法体展开,下面是我的

#include "android_myself_text_ndk_MainActivity.h"

JNIEXPORT jstring JNICALL Java_android_myself_1text_1ndk_MainActivity_getStringFromC
        (JNIEnv * env, jclass jc){
    return (*env)->NewStringUTF(env, "myself_ndk ! " );
}
4,到这里差不多快好了,在build.gradle中的defaultConfig中添加
ndk{
    moduleName "testndk"         //需要生成的so名字
    abiFilters "armeabi" //输出的so库类型。
}
然后在主类中添加
static {
    System.loadLibrary("testndk");
}
5接下来我们试试看能不能输出c文件中的那个字符串,在主类中找一个textview来显示字符串,将那个getStringFromC()写入textview,直接运行app,
6就这样出现了我们要的效果,

在此还是要谢谢网络上的一个大牛们,各种资源都能找到,给了我不少帮助。
最近对android studio2.3.2 自带的ndk做了相应学习--
http://blog.csdn.net/sinat_26761191/article/details/74309548


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值