Android Studio NDK 入门demo

针对刚入门NDK的同学简化一下入门程序的编写,哈哈

一、新建NdkTest项目。

二、直接在目录下新建native方法工具类,方便调用。


三、MainActivity中调用Native方法更新UI。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        NdkUtils ndkUtils=new NdkUtils();
        TextView textView=new TextView(this);
        textView.setText(ndkUtils.getStrinFromC());
        setContentView(textView);

    }
}

四、Rebuild Project,查看目录下是否生成了相应的class文件


五、利用AS中的命令窗口Terminal的javah命令生成native方法的头部文件 javah -jni 包名.类名,执行命令之后再当前目录下会生成.h的文件


六、在main中右键新建jni文件夹,把刚刚生成的.h的头部文件剪切到此目录下,新建名为ndkdemo(随便起)的c文件,把头部文件中的方法复制到该文件中,改写返回信息

#include <com_cg_ndktest_NdkUtils.h>

/*
 * Class:     com_cg_ndktest_NdkUtils
 * Method:    getStrinFromC
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_cg_ndktest_NdkUtils_getStrinFromC
  (JNIEnv * env, jobject jject){

   return (*env)->NewStringUTF(env,"hello ,My name is JNI Demo");
  }

七、在module的build.gradle中配置ndk的相关信息,点击箭头右上角,整理编译,根据错误信息,在配置文件中加入错误信息



八、记得在MainActivity中导入so文件库,运行项目,成功编译,可以在项目编译目录下面找到so文件库

static{
    System.loadLibrary("ndkdemo");
}



九、得到了so文件,直接引用so文件就更简单了,只需要在main中新建名为jniLibs的文件夹,把相应的so文件都复制进去,只要包名和方法名都相同,在其他项目中就是这样么简单的引用so库。



附上demo链接

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值