加载中
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 Ndk/Jni的内存泄漏检测

之前分析过在Android Native中分析内存泄漏的方法:Android Native内存泄露检测(针对Android7.0)但是很遗憾这个方法并不适用于Ndk和Jni,因此我们需要为Ndk和Jni寻找一种合适的方法,他就是L...

Android下面打印进程函数调用堆栈(dump backtrace)的方法

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

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

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

07/30 18:02
21
Android配置build.gradle的buildTypes动态自动维护debug和release包自定义字段变量值

Android配置build.gradle的buildTypes动态自动维护debug和release包自定义字段变量值 在Android编译出包阶段,debug包和正式的release有时候需要作出有所区别的调整。 比如最常见的是App应用...

07/03 15:47
31
深入理解gradle编译-Android基础篇

深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle一些常见问题进行一一介绍...

Android Studio NDK CMake 指定so输出路径以及生成多个so的案例与总结

前文 注意:此文的所有配置都是mac电脑下 一直想用Android Studio的新方式Cmake来编译JNI 代码,之前也尝试过,奈何有两个难题挡住了我 1. 只能生成一个 so库,不能一次性生成多个 so库,之前...

深入理解gradle编译-Android基础篇

导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle一些常见问题进行一一介绍: 理解Gradle与android app之间的关...

Android Studio 2.2 更方便地创建JNI项目-CMake

前段时间写了篇Android Studio 第一个NDK例子,它是在使用Android Studio2.1版本的实现方案,最近发现2.2稳定版本已经出来了,所以更新了版本,发现使用该版本创建Jni项目更加方便了。 使用A...

【Android开发】:在任意目录执行NDK编译

文以简单的例子讲述如何在任意目录把自己写的C代码使用NDK提供的交叉编译该工具来编译成Android可使用的静态库/动态库。 1. 准备环境 首先,你得安装了Android的NDK编译工具,假设你的NDK的根...

03/26 08:38
1
Android的WIFI局域网对讲机

https://blog.csdn.net/z979451341/article/details/79280749 (三)Android局域网内语音对讲 基于UDP语音传输 https://blog.csdn.net/stormxiaofeng/article/details/80513947 Android7.0手...

02/24 11:06
47
利用系统提供的崩溃日志解Native层Bug

对Android开发者来讲,尤其是使用NDK编写Native层代码的开发者,在编码过程中通常会碰到各种各样的问题。追踪问题的方式有很多,除了在代码中添加日志,来观察程序运行过程中产生的异常外,对...

jenkins打包编译android

一般android开发打包,都通过android studio自己打包,这种流程不适合批量打包和流程规范。为了解决android生产编译打包,本文主要阐述jenkins结合android sdk进行打包 gradle安装 安装gradl...

AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)

AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库) 1.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的mak...

Context与ApplicationContext

Context与ApplicationContext 1)单例强引用会内存泄漏 我们的这个类中的sInstance是一个static且强引用的,在其内部引用了一个Activity作为Context,也就是说,我们的这个Activity只要我们的...

2018/12/29 14:35
9
Android实现实时视频通话

Android实现实时视频通话或监控方案 http://blog.csdn.net/ericfantastic/article/details/50234239 android语音、视频通话源码包(完美无回声) http://download.csdn.net/download/weixia...

07/03 11:39
72
离线gradlew命令行打包apk设置

离线gradlew命令行打包apk设置 由于使用命令行 gradlew 命令打包 apk,gradle 和 gradle pluging 等设置都需要配置到相应的配置文件中,所以在 Android Stuido 中的相应设置都不起作用了 gr...

Android NDK开发Crash错误定位

在Android开发中,程序Crash分三种情况:未捕获的异常、ANR(Application Not Responding)和闪退(NDK引发错误)。其中未捕获的异常根据logcat打印的堆栈信息很容易定位错误。ANR错误也好查...

在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这个必需,后面版...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部