1、新建项目NDKDemo3

2、新建com.example.shixm.ndkdemo3.MyNdk.java

3、右键main文件夹,New->Folder->JNI Folder

4、MainActivity中调用getMyString

TextView textView = (TextView) findViewById(R.id.textView);
MyNdk myNdk = new MyNdk();
textView.setText(myNdk.getMyString());

5、打开Module: app build.gradle,在defaultConfig中添加

android {

  xxxxx

  defaultConfig {

    xxxxx

ndk {
  moduleName "MyLibrary"
}
sourceSets.main {
  jni.srcDirs = []
  jniLibs.srcDir "src/main/libs"
}

  }

}

6、点击File->Setting->Tools->External Tools,点击“+”,添加如下:

注意:windows用ndk-build.cmd,MAC/Linux用ndk-build

7、右键com.example.shixm.ndkdemo3.MyNdk.javaNDK->java.h,可以看到控制台,同时jni文件夹下生成了文件com_example_shixm_ndkdemo4_MyNdk.h

8、jni目录下新建MyLibrary.cpp文件,并编辑

9、jni目录下分别新建Android.mk与Application.mk

Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MyLibrary
LOCAL_SRC_FILES := MyLibrary.cpp
include $(BUILD_SHARED_LIBRARY)

Application.mk
APP_MODULES := MyLibrary
APP_ABI := all

10、右键jni文件夹,ndk->ndk-build,此时控制台

11、运行项目,至此操作完毕。

最新文章

  1. css_随笔
  2. entityframework使用CodeFirst创建MySql数据库出错的解决方法恢复
  3. 解决:编译CM14.1 提示Jack “Out of memory error”错误
  4. JavaScript:彻底理解同步、异步和事件循环(Event Loop) (转)
  5. 【leetcode】Minimum Window Substring (hard) ★
  6. 前端测试回顾及我们为什么选择Karma
  7. while, do-while ,switch···case语句的学习与运用
  8. Python3下map函数的显示问题
  9. CSS: word-wrap和word-break
  10. ASP.NET MVC- 在Area里使用RedirectToAction跳转出错的解决方法
  11. ftp服务器测试
  12. 盒子模型&position定位
  13. JS函数作用域及作用域链理解
  14. mac下的搭建本地discuz论坛
  15. 关于jquery全选反选 批量删除的一点心得
  16. Java实现堆的封装,进行插入,调整,删除堆顶以完成堆排序实例
  17. [Swift]LeetCode605. 种花问题 | Can Place Flowers
  18. WinSDK-键盘消息
  19. aruba 开启802.1X认证
  20. CodeForces615B-Longtail Hedgehog-dp/图

热门文章

  1. Oracle exp/imp 导出/导入
  2. Jenkins 简单配置
  3. hive设置参数的方法
  4. docker利用Dockerfile来制作镜像
  5. STM32F105开发板
  6. day16-小数据池
  7. Spring STS Call Hierarchy 查找不到被调用的信息
  8. java 中 Integer 传参方式的问题
  9. 灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断
  10. How to Pronounce TH after N or Z