Android NDK
Lixby
一定要竭尽全力,而不是尽力而为。
展开
-
NDK开发中JNI ERROR XXX table overflow (max = XX)异常
综述在Java虚拟的运行时数据分区中,本地方法栈用来保存native方法调用中产生的引用,虚拟机可以用之来做可达性分析GC Roots。如果本地方法栈中的引用一直存活,且保持一定数量,则与之相关的对象将无法被回收。此时就可能存在内存泄露的风险。Java虚拟机不允许无限制地创建本地引用,它为本地引用的数量设置了上限,一旦超过这个上限就会报出JNI ERROR XXX tabl原创 2017-08-02 08:43:04 · 455 阅读 · 0 评论 -
Android NDK编译 ndk-build方式
因很少使用NDK编译,每次在涉及到这一块的时候都会忘记NDK开发的开发的环境配置和开发步骤。所以今天自己做下笔记记录下开发步骤:环境:AndroidStudio2.3,Ubuntu14.0,android-ndk-r14b,java8;第一步:配置NDK环境,直接上图:NDK可以自己下载再配置,也可以通过Android sdk->sdk tools 下载。上面都不用说,使用AS的人都应该懂得...原创 2018-03-06 10:31:50 · 2223 阅读 · 0 评论 -
Android-CMakeLists.txt 链接第三方库(动态或者静态库)到自己的生成库中
最近在做关于NDK开发的项目,编译方式通过cmake。其中一个就是要将第三方动态库链接到自己的动态库最终生成一個动态库供他人调用,这个折腾了好久,终于搞好记录下笔记,免得以后再踩坑,有同样需求的童鞋可以参考,有错误请指出。多的不说,上代码.1.首先看目录结构:第三方库放在jniLibs下,并创建对应的CUP平台目录。头文件随便放:2.上CMakeLists.txt内容,有两个方式,这里不会一一解释...原创 2018-04-03 09:15:19 · 12235 阅读 · 1 评论 -
CMake 预编译宏定义
在CMakeLists.txt 中添加,如要在原生代码区分Android与IOS平台的编译,可以这么做:原创 2018-04-04 14:17:06 · 41159 阅读 · 1 评论 -
Android SeLinux权限问题和解决方法
1. 确认 seLinux导致权限问题1.1 标志性log 格式:avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类别 permissive=01.2 举例:Kenel log:avc: denied { execheap } f...转载 2018-11-14 21:39:15 · 6341 阅读 · 1 评论