加载中
Android下打印调试堆栈方法

打印堆栈是调试的常用方法,一般在系统异常时,我们可以将异常情况下的堆栈打印出来,这样十分方便错误查找。实际上还有另外一个非常有用的功能:分析代码的行为。android代码太过庞大复杂了...

08/02 07:28
1
如何打出Android程序调用stack trace

找出程序的调用堆栈 trace 可以知道是谁调用了这个接口,也能快速学习程序的调用流程,非常实用。但需要注意的是,不能在正式代码中使用,只能用于调试,这个非常耗资源也会造成 log 泛滥。 ...

08/02 07:27
16
Android5.1 系统中有一个libbacktrace.so库可以打印调用堆栈

这个项目的目的是在C/C++代码中获得调用堆栈,开发环境为Android NDK 。在Android5.1 系统中测试成功。 Android5.1 系统中有一个libbacktrace.so库可以打印调用堆栈,但在调用这个库时总是崩...

08/01 16:38
5
Android下打印调试堆栈方法

打印堆栈是调试的常用方法,一般在系统异常时,我们可以将异常情况下的堆栈打印出来,这样十分方便错误查找。实际上还有另外一个非常有用的功能:分析代码的行为。android代码太过庞大复杂了...

08/01 16:33
8
Is there an #ifdef ANDROID equivalent to #ifdef WIN32

33 Macro Regarding predefined macros, there is the famous predef.sf.net. Looking for Android brings up the devices page. There: Android The following macros have to be included ...

08/01 16:26
1
Android下面打印进程函数调用堆栈(dump backtrace)的方法

1. 为什么要打印函数调用堆栈? 打印调用堆栈可以直接把问题发生时的函数调用关系打出来,非常有利于理解函数调用关系。比如函数A可能被B/C/D调用,如果只看代码,B/C/D谁调用A都有可能,如果...

08/01 16:12
1
Backtrace in Android

libscorkscrew.so在android 5.0之后已经没有了,之前追踪backtrace的方法已经: #define MAX_DEPTH 31 #define MAX_BACKTRACE_LINE_LENGTH 800 #define PATH "/system/lib/libcorkscre......

08/01 16:02
3
Crash 问题定位 -----使用addr2line命令定位到行号

这段时间经常遇到crash 的问题,这里来说说怎么使用addr2line 命令来定位问题。 1. 获取tombstone log 当系统出现crash的时候,我们可以从/data/tombstones/目录中取出tombstone log, 之后查...

07/30 18:02
22
so 动态库崩溃问题定位(addr2line与objdump)

一、需求分析 so 的崩溃并不像 Java 代码那么好定位,我们通常看到的就只是 so 中的一大段崩溃的堆栈信息。那么我们怎么通过这个堆栈信息来定位我们的问题呢? 二、addr2line 1. 介绍 Addr2l...

在android studio下配置gradle用ndk-build和ndk-gbd编译调试JNI

因为要在旧版android在做一些工作。所以做用到了它。目标平台是:android api 10和armv6. 开发环境是:AS 版本2.3.2; SDK版配android 2.3.3(api10); NDK版本android-ndk-r10e这个必需,后面版...

Android集成讯飞语音、百度语音、阿里语音识别

一、引言 demo下载地址:https://fir.im/jy28 demo源码查看:https://github.com/wapchief/android-CollectionDemo 效果图: 选这几个平台的主要也是从多方面考虑。 大概从这几个 识别精准度...

06/29 07:54
11
Android关于libs,jniLibs库的基本使用说明及冲突解决

最近在开发中遇到了一个问题,因为项目需要集成不同的sdk。相对应的也是不同的.so文件。 针对libs中.so库的引入会遇到一些问题。 比如要集成第三方NDK库: 如果是在eclipse中,需要放到libs下...

Android基于CMake进行OpenCV开发配置

一、创建支持C++的android基础模版项目 新建项目,勾选【Include C++ support】,后续一直按【next】按钮取默认设置即可。 image.png 最终生成的目录结构如下图: image.png 此时直接build并...

06/28 11:35
29
JNI 动态注册和静态注册的详解

1. 什么是JNI? JNI的英文缩写是 java nativie interface ,按照字面解释就是java 本地接口。什么样的接口才叫nativie interface ,用c/c++写代码。所以JNI是用c++语言编写的接口供java调用。...

06/27 11:12
65
JNI 动态注册和静态注册的详解

本博文采用问答的方式讲解JNI的动态注册和静态注册的方式 1. 什么是JNI? JNI的英文缩写是 java nativie interface ,按照字面解释就是java 本地接口。什么样的接口才叫nativie interface ,用...

06/27 08:16
18
Android JNI 函数注册的两种方式(静态注册/动态注册)

JNI/NDK 在Android开发中,由于种种原因我们需要调用C/C++代码, 这个时候就要用到Android开发者都听说过的JNI(Java Native Interface)了, 在调用JNI相关方法之前, 要对java中native关键字定义...

06/27 08:05
9
传智播客JNI第七讲 – JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式

讲解JNI中的全局引用/局部引用/弱全局引用、缓存jfieldID和jmethodID的两种方式,并编写两种缓存方式的示例代码。 1.从Java虚拟机创建的对象传到本地C/C++代码时会产生引用,根据Java的垃圾回...

06/26 21:11
23
JNI内存泄露处理方法汇总

在c++中new的对象,如果不返回java,必须用release掉,否则内存泄露。包括NewStringUTF,NewObject。如果返回java不必release,java会自己回收。 jstring jstr = env->NewStringUTF((*p).se...

06/26 18:20
7
Reference Table overflow (max=1024)异常处理

首先说一下出现这个问题的背景,通过Android的Camera采集视频信息然后通过JNI来调用C来软编码,但是发现有的手机再录制时间超过5分钟后就会出现异常崩溃!通过抓log发现是:“JNI pinned ar...

06/26 09:58
6
jni接口NewStringUTF崩溃

转载 原文 https://blog.csdn.net/churuxu/article/details/49999575 ndk开发中,将c/c++的UTF8编码的字符串转换成java字符串,使用了NewStringUTF接口。 当字符串中包含emoji字符时,在有些...

06/25 23:57
15

没有更多内容

加载失败,请刷新页面

返回顶部
顶部