详细配置使用请移步:https://www.jianshu.com/p/4c7d9a10933b

android studio NDK 编译

第一步:

app/build.gradle下面

添加代码:

ndk {
            moduleName "app" // <-- This is the name of my C++ module!
            cFlags "-DANDROID_NDK " // Define some macros
            ldLibs "EGL", "GLESv3", "dl", "log"         // Link with these libraries!
            stl "stlport_shared"
        }

具体如下:

第二步:

在local.properties文件中 配置好本地NDK的路径,比如我的:

ndk.dir=/Users/cinba/Library/android-ndk-r10e
sdk.dir=/Users/cinba/Library/android-sdk

第三步:

在main下面建立jni文件夹:吧相关的文件放进来

第四步:

然后 build-> make project,so文件就生成好了;

位置在 目录 app/build/intermediates/ndk/下面;

第五步:

将生成好的so文件copy到我们的jniLibs文件夹中即可;

补充:
这样配置每次都会自动编辑c文件,如果不要每次都ndk编译话,把gradle中的ndk配置注释掉,然后so文件copy到我们的jniLibs中即可!
 
解决办法:
在gradle.properties 文件里面添加 android.useDeprecatedNdk=true 后重新编译即可
 
遇到的问题:
 
make.exe: *** No rule to make target `D:\AndroidStudioProjects\project\app\build\intermediates\ndk\umeng\debug\obj/local/arm64-v8a/objs/app/D_\AndroidStudioProjects\project\app\src\main\jni', needed by `D:\AndroidStudioProjects\project\app\build\intermediates\ndk\umeng\debug\obj/local/arm64-v8a/objs/app/D_\AndroidStudioProjects\project\app\src\main\jni\tag.o'.  Stop.
 
 
在Windows下NDK一个bug,当仅仅编译一个文件时出现会出现此问题,解决方法就是再往jni文件夹加入一个空util.c文件即可
问题参考资料:http://blog.csdn.net/sodino/article/details/41946607
 
 
 
 

android studio 编译NDK android studio 生成.so文件的更多相关文章

  1. 转:在VS2010下编译、调试和生成mex文件

    最近帮人调了一个程序,是网上公开的代码,利用matlab与c++混合编程做三维模型关键点检测,发现他们可以用VS2010编译.调试.生成mexw32文件,因此觉得之前在Matlab上利用mex命令真是 ...

  2. 【.Net Core】编译时禁止自动生成netcoreapp文件夹

    原文:[.Net Core]编译时禁止自动生成netcoreapp文件夹 每次在编译生成文件时,VS都会自动在<OutputPath>属性指定的路劲后再追加一个用NetCore命名的文件夹 ...

  3. Android NDK 初探,生成so文件以及调用so文件方法

    因为最近业务上涉及安全的问题 然后有一些加密解密的方法和key的存储问题 本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上 而且我这个如果从网络建立通信获取的话,又太耗时,所以 ...

  4. Visual Studio 编译Winform程序不生成.vshost.exe和.pdb文件的方法

    问题:使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件. 先解释一下各个文件的作用: .pdb文件: ...

  5. linux下编译bib、tex生成pdf文件

    实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...

  6. Ubuntu 使用 Android Studio 编译 TensorFlow android demo

    https://www.cnblogs.com/dyufei/p/8028218.html https://www.myboxlab.com/topic/detail/714ca2d405414f13 ...

  7. Android调用Sqlite数据库时自动生成db-journal文件的原因

    数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...

  8. 【转】Android调用Sqlite数据库时自动生成db-journal文件的原因

    数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...

  9. visual studio 编译报错:未能向文件“....csproj.FileListAbsolute.txt”写入命令行,对路径的访问被拒绝

    在网上开始查找出错的解决方法,终于找到了,原来解决方法这么简单,当初以为是权限的问题,后来发现不是权限问题,在VSS中比以前多了两个目录“bin”和“obj”,可能是有人上传的时候将这两个文件夹一起上 ...

随机推荐

  1. pvcreate vgcreate lvcreate 扩容

    centos6 服务器磁盘扩容 1.创建物理卷 /dev/sdb #pvcreate /dev/sdb 参数:/dev/sdb 设备名 2.创建卷组 vg_02 #vgcreate  vg_02  / ...

  2. 计算机网络-3-2-点对点协议PPP

    点对点协议PPP 在通信链路较差的年代,在数据链路层使用可靠传输协议曾经是一种好方法,比较简单的点对点PPP协议则是目前使用最广泛的数据链路层协议. PPP协议的特点 互联网用户通过都要连接到某个IS ...

  3. 力扣 - 剑指 Offer 30. 包含min函数的栈

    题目 剑指 Offer 30. 包含min函数的栈 思路1 使用一个辅助栈min_stack,用来维护栈的最小的元素 每次添加元素入栈时候,data_stack和min_stack都要同时维护 dat ...

  4. Maven settings配置阿里镜像

    一般只用配置三个地方 maven仓库路径 镜像 默认JDK版本 <?xml version="1.0" encoding="UTF-8"?> < ...

  5. elementUI合并表格span-method用法

    官方文档 参考链接一 参考链接二

  6. React项目打包并部署到 Github 展示预览效果

    React项目打包并部署到 Github 展示预览效果 当开发者模式结束,准备打包的时进行以下步骤: 在package.json配置文件中加一句: "homepage": &quo ...

  7. springboot利用mock进行junit单元测试,测试controller

    1  spring-boot-starter-test内置mockito,添加pom依赖 <dependency> <groupId>org.springframework.b ...

  8. [cf1290D]Coffee Varieties

    思路 统计数的种类数,也等价于统计有多少个数满足其之前没有与其相同的数 将序列以$\frac{k}{2}$为块大小分块,那么即会有$m=\frac{2n}{k}$个块 (关于$k=1$的情况,以1为块 ...

  9. maven项目打包不带版本号的操作

  10. Java设计模式之(十一)——享元模式

    1.什么是享元模式? Use sharing to support large numbers of fine-grained objects efficiently. 享元模式(Flyweight ...