
ndk
oncealong
这个作者很懒,什么都没留下…
展开
-
Android NDK Debug
前言:说真的Android NDK debug还是推荐lldb,gdb经常莫名其妙的不成功。不过下面的这个流程是谷歌官方建议的,还是有参考价值的。尤其是在App启动时Debug的流程。lldb debug的文章推荐:https://fucknmb.com/2019/12/06/Flutter-Engine-C-%E6%BA%90%E7%A0%81%E8%B0%83%E8%AF%95%E5%8...翻译 2020-01-14 21:57:18 · 529 阅读 · 0 评论 -
Advice for Middleware Vendors JNI中间件厂商开发建议
Advice for Middleware VendorsDistributing middleware built with the NDK imposes some additional problems that app developers do not need to worry about. Prebuilt libraries impose some of their imple...翻译 2020-01-13 17:49:40 · 300 阅读 · 0 评论 -
Android性能优化 相关文档
最近遇到Android性能优化问题,使用AS的profile看了下堆栈,“nSyncAndDrawFrame 耗时过长”,然后打开GPU渲染分析,红色线条很长。GPU渲染时的每个颜色代表的意义如下:一般主要看深绿色和红色就行,意义如下:第一步是由应用程序进程的Main Thread构建Display List,即updateRootDisplayList方法,对应Gpu呈现模式分析...原创 2019-10-31 14:08:09 · 716 阅读 · 0 评论 -
录音与播放示例, 以Android AAudio为例
最近看了谷歌的codelabs介绍AAudio的示例, 写的还不错, 把主要问题介绍清楚了, 对音频这块感兴趣的可以看下. 当然实战还是推荐Oboe库.1. 示例1, 主要讲了怎么创建一个声音合成器, 生成不同频率的正弦波.https://codelabs.developers.google.com/codelabs/making-waves-1-synth/#0这个程序可提升的...原创 2019-09-10 21:44:06 · 2550 阅读 · 0 评论 -
ndk C++ 编译器的函数名修饰规则
前言:最近ndk debug好痛苦,堆栈里都是C++修饰过的名字,每次转化成实际的类和方法都要脑子里转一下,虽说c++filt可以转换,但是转换后可能更蒙蔽。。。这里贴出两篇文章供参考。c++filt -n _ZNSt6__ndk113__tree_removeIPNS_16__tree_node_baseIPvEEEEvT_S5_void std::__ndk1::__tree_re...原创 2019-08-15 20:50:29 · 1753 阅读 · 0 评论 -
NDK开发之 Undefined Reference to Typeinfo
最近给现在代码增加个功能,可以使用代理走向内网指定服务器,但是功能增加后一直编译不过,报错:"Undefined Reference to Typeinfo HttpClient", 很奇怪,代码看着没什么问题,就是编译不过。CPP最烦的就是不说人话。。。要让你去猜查了网上的资料, 发生这种情况一般是 :虚函数未实现产生”undefined reference to `typei...原创 2019-07-23 13:27:46 · 662 阅读 · 0 评论 -
Android下使用objdump查看导出的函数表
Android下为了查看so的导出函数,有两种方法。nm -D ffmpeg.soobjdump -tT ffmpeg.so这里推荐第二种方法, 因为遇到问题相对好查,nm在google里稍难匹配到你要的意思。下面试使用objdump后, 每一行和每一列的数据的意义:ibcrypto.so: file format elf32-littlearmSYMBOL TABLE...原创 2019-07-20 18:53:51 · 2428 阅读 · 0 评论 -
Android Jni开发
相关代码可以直接在这个网站搜, 很不错的讲义.http://statweb.stanford.edu/~naras/java/course/lec5/lec5.html转载 2019-05-30 13:44:56 · 142 阅读 · 0 评论 -
JNI开发中,你需要知道的一些建议
转自:https://blog.youkuaiyun.com/hejjunlin/article/details/80970820翻译自:http://developer.android.com/training/articles/perf-jni.html.JNI全称Java Native Interface。它为Java与本C/C++之间提供了一种交互方式。JavaVM 及 JNIEnv...转载 2019-05-15 19:22:41 · 668 阅读 · 0 评论 -
JNI|在子线程中获得JNIEnv|AttachCurrentThread
转自:https://blog.youkuaiyun.com/stefzeus/article/details/6792518A JNI interface pointer (JNIEnv*) is passed as an argument for each native function mapped to a Java method, allowing for interaction with...原创 2019-05-15 19:20:09 · 1708 阅读 · 0 评论 -
使用 Java Native Interface 的最佳实践
转自:https://www.ibm.com/developerworks/cn/java/j-jni/使用 Java Native Interface 的最佳实践避免最常见的 10 大 JNI 编程错误的技巧和工具Michael Dawson, Graeme Johnson, 和 Andrew LowJNI 的发展JNI 自从 JDK 1.1 发行版以来一直是 Java 平台...转载 2019-05-09 20:16:00 · 527 阅读 · 0 评论 -
调试 Android ndk代码
调试 Android 平台原生代码https://source.android.google.cn/devices/tech/debugAndroid下使用AddressSanitizer检测内存错误https://source.android.com/devices/tech/debug/asan原创 2018-12-11 21:53:39 · 265 阅读 · 0 评论 -
ndkCompile ndk-build CMakeList 区别.
一直很好奇`android.useDeprecatedNdk = true`到底是使用的什么废弃ndk, 但是找资料一直没有找到相关的. 最近看谷歌官网资料, 有些理解. 写在这里权当抛砖引玉, 不保证正确, 有更了解的麻烦指出错误.现在常用的ndk编译主要用两种, 一种是ndk-build+Android.mk, 另一个种是CMakelist. 这两种属于比较现代的ndk开发方式了....原创 2018-12-11 21:51:15 · 1144 阅读 · 0 评论 -
Android NDK编程: JNI技巧
前言: 这篇文章是android官方文档(https://developer.android.com/training/articles/perf-jni), 讲的非常赞. 有很多最佳实践, 比如储存classid/methodid, 管理线程, cpp和java线程交互, 异常UTF编码, 最后还有几个常见问题(UnsatisfiedLinkError错误, java和native分享数据)....翻译 2018-12-11 21:37:52 · 1773 阅读 · 0 评论 -
Android ndk编译FFMPEG/IJKPlayer报错 `ndk missing -D__STDC_CONSTANT_MACROS` 解决办法
本地编译ijkplayer, 需要调试ndk, 按照`0003-armv7a-enable-debugging-with-LLDB.patch`所说进行修改. 但是运行时提示:ndk missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS查找了一番, 没有找到直接的答案. 通过提示知道需要给cpp增加一个标识,...原创 2018-11-21 20:13:12 · 460 阅读 · 0 评论