NDK 介绍.md
NDKAndroid NDK开发的前提是我们必须对JNI技术有过了解。
JNI在Android中的应用场景十分的广泛,例如音视频开发、热修复、插件化、逆向开发、系统源码调用等。
对于JNI技术,Android为我们提供了NDK这个开发工具集,NDK是基于JNI的,它和JNI开发并没有本质区别。
Android中的JNIAndroid系统按照语言来分的话,由两个世界组成:
Java世界
Native世界
为什么Android系统不直接使用Java编写?
性能
Native(C/C++)语言已经有很多库,秉承不重复造轮子的原则。
那么如何连接Java与Native世界呢?没错,JNI就是这个连接桥梁。
参考资料
《Android进阶解密》刘望舒
Android与OpenCV.md
我们在OpenCV官网下载的SDK项目包含3大部分:
jni代码
java代码
全平台的so
在Android中,有两种方式实现OpenCV:
NDK:需要对OpenCV的函数很熟悉。
Java:Java中的OpenCV,已经封装了很多View。
OpenCV的GitHub项目:
Android与OpenCV.md
我们在OpenCV官网下载的SDK项目包含3大部分:
jni代码
java代码
全平台的so
在Android中,有两种方式实现OpenCV:
NDK:需要对OpenCV的函数很熟悉。
Java:Java中的OpenCV,已经封装了很多View。
OpenCV的GitHub项目:
Android NDK 交叉编译ffmpeg-androidndk交叉编译ffmpeg.md
FFmpeg帮助参数1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992 ...
Android NDK Clang交叉编译FFmpeg-androidclang-jiao-cha-bian-yi-ffmpeg.md
————————–”echo $CCexport CXX=$TOOLCHAIN/bin/$ARCH-linux-androideabi$MIN-clang++export LD=$TOOLCHAIN/bin/arm-linux-androideabi-ldexport NM=$TOOLCHAIN/bin/arm-linux-androideabi-nmexport RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlibexport STRIP=$TOOLCHAIN/bin/arm-linux-androideabi-strip
OPTIMIZE_CFLAGS=”-DANDROID -I$NDK/sysroot/usr/include/arm-linux-androideabi/“ADDI_LDFLAGS=”-Wl,-rpat ...
Android NDK交叉编译.md
– 下面是分析了,不是是去允许:export NDK_GCC=”/root/DerryAll/NDK26/tool/android-ndk-r17c/toolchains/arm-linuxandroideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc” 【用NDK专用的gcc】export AAA=”–sysroot=/root/DerryAll/NDK26/tool/android-ndkr17c/platforms/android-21/arch-arm 【寻库文件头文件】-isystem /root/DerryAll/NDK26/tool/android-ndk-r17c/sysroot/usr/include ...
C语言 文件操作.md
1. 概念C语言具有操作文件的能力,比如打开文件、读取和追加数据、插入和删除数据、关闭文件、删除文件等。
与其他编程语言相比,C语言文件操作的接口相当简单和易学。在C语言中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。
2. C语言中的文件我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。
在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如:
通常把显示器称为标准输出文件,printf 就是向这个文件输出数据;
通常把键盘称为标准输入文件,scanf 就是从这个文件读取数据。
文件
硬件设备
stdin
标准输入文件,一般指键盘;scanf()、getchar()等函数默认从stdin获取输入。
stdout
标准输出文件,一般指显示器;printf()、putchar()等函数默认向stdout输出数据。
stderr
标准错误文 ...
C语言 文件操作.md
1. 概念C语言具有操作文件的能力,比如打开文件、读取和追加数据、插入和删除数据、关闭文件、删除文件等。
与其他编程语言相比,C语言文件操作的接口相当简单和易学。在C语言中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。
2. C语言中的文件我们对文件的概念已经非常熟悉了,比如常见的 Word 文档、txt 文件、源文件等。文件是数据源的一种,最主要的作用是保存数据。
在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如:
通常把显示器称为标准输出文件,printf 就是向这个文件输出数据;
通常把键盘称为标准输入文件,scanf 就是从这个文件读取数据。
文件
硬件设备
stdin
标准输入文件,一般指键盘;scanf()、getchar()等函数默认从stdin获取输入。
stdout
标准输出文件,一般指显示器;printf()、putchar()等函数默认向stdout输出数据。
stderr
标准错误文 ...