随笔分类 - Android
摘要:循环依赖问题 假设可执行程序exe1使用了so1和so2中的函数,so1使用了so2的函数。编译so1时,肯定需要指定-lso2;编译exe1时,肯定需要指定-lso1,但是exe1间接依赖了so2,是否需要指定-lso2呢? 对于常规的NDK编译来说,是需要指定的,否则会报undefined re
阅读全文
摘要:使用NDK的Cmake编译报错:Invalid Android NDK revision 在Windows上,下载Android的SDK之后,其自带有NDK,同时有CMake。当我们使用cmake.exe程序编译项目时,假如使用如下编译语句 E:\Android\Sdk\cmake\3.10.2.4
阅读全文
摘要:在NDK中测量时间,有四种方法。 LINUX系统方法 gettimeofday 以秒和微秒的形式返回自从Epoch(1970-01-01 00:00:00 +0000 (UTC))时间以来,系统已经经过了多少时间。这个函数会受到系统的时间跳变的影响,比如系统管理员重新设置了系统时间。clock_ge
阅读全文
摘要:NDK clang编译器的一个bug 问题代码
阅读全文
摘要:在做加法时,比如两个255x255的数值相加,那么正确结果将是130050,对一个最大值为65565的 是会溢出的,但是如果使用L命令时,则不会产生溢出。这说明L命令,不是先执行计算再简单使之long,而是对计算结果就直接针对更宽位。下面代码可以验证。 输出为 而且这个代码说明,可以直接对NEON的
阅读全文
摘要:在下载了Qualcomm的Hexagon SDK 351版本之后,想跑里面的examples,然后参照文档的说,比如在 examples/common/sobel3x3_v60 目录下面,先执行了SDK根目录下面的 setup_sdk_env.cmd ,然后执行 编译命令,结果编译错误,输出如下错误
阅读全文
摘要:解决的需求 有些时候不能在NDK环境编译,或者使用NDK编译会颇费周折,然后又想使用Android系统自带的Log类方法,那么我们就可以使用 dlopen 来实现我们的目的。比如在OpenCV中添加Android的Log打印。 关于dlopen 1. dlopen和dlclose对处理的lib进行引
阅读全文
摘要:修改so库中的依赖名 在 "ArchLinuxArm" 上有一些针对 aarch64, arm, armeabi v7a 等Android常用架构的so库可以下载,有时候可以省去很多编译时间,且都是编译optimize比较好的版本,而且基本都是最新版本的代码编译的。比如SuiteSparse就是例子
阅读全文
摘要:在高通的OpenCL SDK中,其Android.mk文件中,有判断当前kernel的版本,如果大于4.12,那么就使用libion.so,否则则使用ion kernle uapi : 从Andriod P开始, "Kernel 4.14已推到AOSP, libion在Android P上已支持新的
阅读全文
摘要:The Android ION memory allocator "英文原文" ION heaps ION设计的目标 为了避免内存碎片化,或者为一些有着特殊内存需求的硬件,比如GPUs、display controller以及camera等,在系统启动的时候,会为他们预留一些memory pools
阅读全文
摘要:本文总结在Android Native C++开发中访问APK中的 assets 资源的方法 在CMake中添加相关NDK LIB的 依赖 因为我们接下来用到的一些函数实现在NDK库libandroid.so中,因此我们直接在 CMakeList.txt 中添加对其依赖即可: 如果没有添加此依赖,显
阅读全文
摘要:在AndroidStudio上使用AddressSanitizer AddressSanitizer是Google主导的一个开源内存问题检测工具。现在也开始支持Android平台,且受Google推荐来替代之前的Valgrind。目前AddressSanitizer能够发现如下问题: Out of
阅读全文
摘要:在NDK中测量时间,有四种方法。 LINUX系统方法 gettimeofday 以秒和微秒的形式返回自从Epoch(1970 01 01 00:00:00 +0000 (UTC))时间以来,系统已经经过了多少时间。 这个函数会受到系统的时间跳变的影响,比如系统管理员重新设置了系统时间。clock_g
阅读全文
摘要:在Android应用crash的类型中,native类型crash应该是比较难的一种了,因为大家接触的少,然后相对也要多转几道工序,所有大部分对这个都比较生疏。虽然相关文章也有很多了,但是我在刚开始学的过程中还是遇到一些问题,下面一一记录,以便将来翻阅。 分析native crash 日志需要几个东
阅读全文

浙公网安备 33010602011771号