NDK开发
Chauncey_1993
大浪淘沙,洗尽铅华无数
展开
-
JNI:在JNI中调用第三方库时所需的CMakeLists 配置
当.so文件不放置在默认位置(main下的jniLibs文件夹)时,手动配置CMakeLists原创 2017-08-16 20:00:56 · 1095 阅读 · 0 评论 -
NDK实战(五)—— 增量更新(下)—— 合并差分包
Android平台下合并patch差分包一、添加文件将 bzip2 的所有 .c 和 .h 文件以及bspatch.c 复制到Android Studio 的 cpp 目录下(记得修改main方法名,保证只有一个main入口)二、在Cmake.txt中链接所有文件使用file(GLOB c_path src/main/cpp/*.c)可以将所有文件添加为一个 c_path 路径变量...原创 2019-01-27 09:30:56 · 357 阅读 · 0 评论 -
NDK实战(四)—— 增量更新(上)—— 生成差分包
不同平台下生成patch差分包增量更新算法官网bspatchhttp://www.daemonology.net/bsdiff/bzip2http://www.bzip.org/downloads.html一、增量更新原理在计算机世界,所有的文件都可以用二进制来表示。增量更新通过哈夫曼算法将新旧文件对比,生成一个差分包(经过压缩)。旧的文件通过与差分包解压后进行合并即可得到新的文件。...原创 2019-01-21 22:30:27 · 685 阅读 · 0 评论 -
NDK实战(三)—— 文件的拆分与合并
一、文件拆分先在Java层声明一个native方法public static native void diff(String path, String patternPath, int fileNum);其对应的调用(Kotlin) private val SDK_CARD_PATH = Environment.getExternalStorageDirectory().absolute...原创 2019-01-12 15:16:33 · 323 阅读 · 0 评论 -
NDK实战(二)—— JNI原理(下)
JNI原理(下)一、注册JNI方法接着上一篇,进入 JVM_NativeLoad 方法JNIEXPORT jstring JVM_NativeLoad(JNIEnv* env, jstring javaFilename, jobject javaLoader,...原创 2019-01-06 22:06:36 · 446 阅读 · 0 评论 -
NDK实战(一)—— JNI原理(上)
JNI原理(上)一、编译CPU只能识别0101这样的二进制文件,C/C++需要经过一层编译转成二进制文件。在Windows平台上会转成xxx.obj文件,在Linux平台会转成xxx.o文件。此由过程编译器完成。编译规则:- Eclipse ====> GUN ====> Android.mk- Android Studio ====> LLVM ====> CM...原创 2018-12-22 17:12:50 · 541 阅读 · 0 评论 -
手写Andfix热修复(Dalvik篇)
Andfix热修复原创 2017-09-04 11:39:23 · 459 阅读 · 0 评论 -
手写Andfix热修复(Art篇)
Andfix原创 2017-09-04 15:37:20 · 1054 阅读 · 0 评论 -
JNI:动态注册
JNI动态注册原创 2017-08-21 17:54:10 · 548 阅读 · 0 评论