- 博客(10)
- 资源 (52)
- 收藏
- 关注
原创 Android开发之JNI ---- 加载调用第三方so库
在jni文件里面添加一个Android.mk文件以及第三方so库及其头文件。配置一下app目录下的build.gradle文件。在src/main/ 目录下新建一个jni文件夹。编写Android.mk。
2021-07-31 22:21:01 1491
原创 JNI中string char jstring两种转换
JNI中string 、 char* 和 jstring 两种转换1、char* 和 jstring 第一种互相转换写法(使用的是MinGW头文件):char* jstringToChar(JNIEnv *env, jstring jstr) {int length = (env)->GetStringLength(jstr);const jchar* jcstr = (env)->GetStringChars(jstr, 0);char* rtn = (char*) mal
2021-07-31 22:08:41 3446
原创 Android Gradle中packagingOptions选项的使用
packagingOptions常见的设置项有exclude、pickFirst、doNotStrip、merge。1.exclude,过滤掉某些文件或者目录不添加到APK中,作用于APK,不能过滤aar和jar中的内容。比如:2.pickFirst,匹配到多个相同文件,只提取第一个。只作用于APK,不能过滤aar和jar中的文件。比如:3.doNotStrip,可以设置某些动态库不被优化压缩。(有对应库的符号表)比如:4.merge...
2021-07-31 22:08:28 1189
转载 Android NDK 从入门到精通
专栏地址 Android NDK 开发,从入门到精通NDK 入门 NDK 开发第一课:环境配置与第一个 JNI 程序JNI 知识 JNI 数据类型和类型描述符 JNIEnv 和 JavaVM JNI 接口大全 JNI 静态注册和动态注册Android.mk 和 CMake 语法 Android.mk 语法和变量介绍 CMakeLists.txt 语法介绍与实例演练Android Studio 中使用 NDK...
2021-07-31 22:08:20 353
原创 Android JNI 使用总结
Android JNI 使用的数据结构JNINativeMethod详解:Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:typedef struct {const char* name;const char* signature;void* fnPtr;} JNINativeM
2021-07-31 22:08:10 139
原创 Android NDK 各版本地址大全
Android NDK 各版本地址大全谷歌官网下载地址————https://developer.android.google.cn/ndk/downloads/这里给大家从高版本到低版本整理的:(Android NDK r22)https://dl.google.com/android/repository/android-ndk-r22-windows-x86_64.ziphttps://dl.google.com/android/repository/android-ndk-r22
2021-07-31 22:07:14 1443
原创 ARM-V7和ARM-V8架构的硬件
ARM V7版架构:从V7版本后开始变成了Cortex架构。Cortex-A系列: 应用处理器,主要用于移动计算、智能手机、车载娱乐、自动驾驶、服务器、高端处理器等领域。时钟频率超过1GHZ,支持Linux、Android、Windows等完整操作系统需要的内存管理单元MMU。Cortex-R系列:实时处理器,可用于无线通讯的基带控制、汽车传动系统、硬盘控制器等。时钟频率200HZ到大于1GHZ,多数不支持MMU,具有MPU、Cache和其他针对工业设计的存储器功能。响应延迟非常低,不支持完整版
2021-07-31 22:07:05 1272
原创 Android Ndkbuild与Cmake
在 Android 项目中使用 jni 有两种编译方案,一种是传统的ndkbuild,一种是当前推荐使用的 cmake;如果在创建项目的时候选择了 include C++ support 则会创建包含 cmake 的项目模板;两者均是生成 so 包;编译方式gradle 对两种编译方式进行了统一;只需要在 module 下的build.gradle 中添加或者其中 path 指定的是两种编译情况下所需配置文件的地址此外:n...
2021-07-31 22:06:55 370
原创 Android系统架构
一、Android系统Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。二、Android已发布版本Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 1.0)。后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。甜点
2021-07-31 22:03:56 724 1
原创 MacOs Catalina “无法打开,因为无法验证开发者”
MacOs Catalina “无法打开***,因为无法验证开发者...”今天用Android Studio编译一个项目,偶遇这个问题,说我的AS是从哪哪下载的,无法保证安全性之类的,不过忘了截图。编译另一个项目是好好的,猜想可能是这个项目要调用CMake ,而Catalina比以前的版本在安全方面做了增强,具体原理先不研究了,下面是解决办法。在终端执行如下指令,不出意外的话就可以了sudo spctl --master-disable执行完...
2021-07-31 22:03:01 1352
Navicat安装指导及安装资源
2024-03-23
vncserver和vncviewer
2017-06-01
大数据资料集锦
2016-03-30
Hadoop技术全套图书
2016-03-21
jQuery瀑布流经典布局源码
2016-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人