Android
halazi100
勤勉务实、守正创新
展开
-
Android-将stdout输出重定向到文件
Android-将stdout输出重定向到文件由于自己的代码中使用了供应商的lib文件,而供应商的lib中日志输出使用的是printf,所以无法在android系统log中查看对应的日志信息。原创 2022-06-08 13:49:28 · 1080 阅读 · 0 评论 -
Android-Hal-C++打印调用栈
Android-Hal-C++打印调用栈debuggerd是android的一个daemon进程,负责在进程出错异常时,将进程的运行时信息给dump出来供分析。debuggerd的core dump数据,被保存在 /data/tombstone/ 目录下,共可保存10个文件,当超过10个时,会覆盖最早生产的文件。在debug时,一般情况下,当程序出现异常时会自动将core dump信息保存起来。当需要手动调试自己的程序并需要主动打印调用栈时,可以使用Android的callstack库。使用步骤如下原创 2022-04-14 17:40:15 · 3731 阅读 · 0 评论 -
android-studio 4.0安装配置
android-studio 4.0安装配置Android Studio 4下载地址:https://developer.android.google.cn/studio?hl=zh-cnJDK下载地址:https://www.oracle.com/java/technologies/javase-jdk14-downloads.htmlIntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows直接下载An原创 2020-08-17 12:22:05 · 2972 阅读 · 1 评论 -
Android-Gnss/GPS HAL层实现绑定+直通式修改为纯绑定式示例
Android-Gnss/gps HAL层实现直通式修改为绑定式的简单方法先来看一下 Gnss/GPS HAL service 直通式的调用方式using android::hardware::gnss::V1_0::IGnss;using android::hardware::defaultPassthroughServiceImplementation;int main() { android::ProcessState::initWithDriver("/dev/vndbind原创 2020-07-02 12:07:59 · 6148 阅读 · 0 评论 -
Android-GnssHal层gps.xxx.so查找与加载过程分析
Android-GnssHal层gps.xxx.so加载过程分析gps.xxx.so不是在编译的时候直接prelink而是在运行阶段动态查找并加载的;已 android.hardware.gnss@1.0-service 为例android.hardware.gnss@1.0-service.rc 会在系统启动时 启动 android.hardware.gnss@1.0-service然后通过 hw_get_module 获取到对应的module并open以及获取 interface ;I原创 2020-07-01 15:49:26 · 5346 阅读 · 2 评论 -
android中json的拼装与解析
android中json的拼装与解析java 层使用的库为 org.json首先导入以下packageimport org.json.JSONException;import org.json.JSONObject;import org.json.JSONArray;构建json文本如int sequenceId = 1;String payload = "xxxxx";try { JSONObject jsonObject = new JSONObject();...原创 2020-05-19 18:07:02 · 1088 阅读 · 0 评论 -
Android-LocationManager注册LocationListener及回调流程分析
android LocationManager注册回调过程private LocationManager lm;private LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location){}}long minTime = 700;float minDistance = 0.0f;lm.requestLocationUpdat...原创 2020-05-11 20:17:02 · 2139 阅读 · 0 评论 -
C++实现GNSS/GPS的NMEA数据格式解析类示例
nmea数据具体各字段的含义请参考标准定义,这里给出一个C++实现的例子,环境是Android;解析.h头文件#ifndef VENDOR_HAL_GNSS_V1_0_GPSNMEAPARSER_H#define VENDOR_HAL_GNSS_V1_0_GPSNMEAPARSER_H#include <cstdio>#include <iostream>...原创 2020-05-05 18:19:34 · 4668 阅读 · 0 评论 -
Ubuntu-18.04 LTS配置android系统源码编译环境
Ubuntu-18.04 LTS配置android系统源码编译环境ubuntu 系统配置Ubuntu Version: ubuntu64-18.04.4 LTS0. Init setup# python 2.7# JDK – For the java Development Kit(JDK)Android 10.0:# java -versionopenjdk version ...原创 2020-04-07 18:52:01 · 2010 阅读 · 1 评论 -
RTP sender发送示例
UDP socket封装成简单的RTP包并发送的示例首先使用FFmpeg将一段音频转换为pcm格式的文件然后不断的读取文件并拼装RTP头发送至接收端比如android的audio track播放;/* * rtp sender */#include <stdio.h>#include <stdlib.h>#include <stdbool.h&...原创 2020-02-28 10:53:44 · 1093 阅读 · 0 评论 -
使用FFmpeg转换mp3或wav文件为pcm格式文件
使用FFmpeg装换mp3或wav文件为pcm格式文件由于项目开发中需要验证pcm格式音频的播放,可以使用FFmpeg进行转换示例如下ffmpeg -i incoming.mp3 -ar 8000 -ac 1 -acodec pcm_s16le -f s16le pcm16bit-le-1ac-8khz.pcm说明:-i incoming.mp3: 输入文件为incoming.mp3...原创 2020-02-28 10:30:52 · 3732 阅读 · 0 评论 -
Ubuntu配置Android源码编译环境
Android源码编译环境配置ubuntu 系统配置0. Init setup# Ubuntu Version: ubuntu64-1404# python 2.6—2.7# JDK – For the java Development Kit(JDK)# Android 8.0(o release):# Ubuntu – OpenJDK 8,# Mac ...原创 2020-01-19 10:11:13 · 637 阅读 · 0 评论 -
使用am start命令启动android apk应用程序
使用am start命令启动android apk应用程序# am start -n {包(package)名}/{包名}.{活动(activity)名称}启动tbox service test apkadb root\nadb shell\nam start -n com.demo.hmi.onstarservices.tbox/.MainActivity\n程序的入口类可以从...原创 2020-01-07 16:18:05 · 8283 阅读 · 0 评论 -
Android-HAL与HIDL分析使用总结
Android-HAL与HIDL分析使用总结HAL接口定义语言(简称HIDL)适用于指定HAL和其用户之间的接口的一种接口描述语言(IDL),HIDL允许指定类型和方法调用。HIDL旨在用于进程间通信(IPC)。进程之间的通信经过Binder化。对于必须与进程相关联的代码库,还可以使用直通模式。HIDL可指定数据结构和方法签名,这些内容会整理归类到接口中,而接口会汇集到软件包中。尽管HI...原创 2019-10-22 17:08:49 · 6716 阅读 · 0 评论 -
Android 系统启动过程分析
Android 系统启动过程分析power onbootloaderuboot 初始化外设,引导内核启动 设置启动参数kernel 硬件设置 驱动加载 根据uboot配置参数启动系统Android 挂载分区,创建目录 动态加载驱动 启动系统服务: mediaserver, servicemanager, adbd, bootanimation,...原创 2019-10-22 17:08:11 · 702 阅读 · 0 评论 -
Android从驱动到应用开发实例分析
Android从驱动到应用开发实例分析1. 第一个android应用程序Android应用一般包含一个源代码目录src、一个资源目录res、一个配置文件AndroidManifest.xml、和一个编译脚本文件Android.mk,下面看下具体的实现代码:以下文件放置于 packages/experimental/HelloAndroid/ 目录src/demoapp/applica...原创 2019-10-22 17:07:45 · 1007 阅读 · 1 评论 -
Android-FrameWork架构C 源码剖析
Android-FrameWork架构C++源码剖析Android 系统整体架构+-------------------------------------------+| APP: home, Tel, Media, Camera ... |+-------------------------------------------+| FrameWork(Java):...原创 2019-10-22 17:07:05 · 255 阅读 · 0 评论 -
Android-FrameWork原理与架构分析
Android-FrameWork原理与架构分析Android架构主要分为分为四部分,从上往下依次为APPLICATION(应用程序),APPLICATION FRAMEWORK(应用框架层),LIBRARIES(共享库,以及android运行时库),LINUX KERNEL(内核层);APPLICATION主要为系统中的应用,如桌面,闹铃,设置,日历,电话,短信等系统应用。...原创 2019-10-22 17:06:36 · 2741 阅读 · 1 评论 -
Android binder 驱动原理与机制分析
Android binder 驱动原理与机制分析binder 是通过Linux的 Binder Driver 来实现的,binder 操作类似于线程迁移,两个进程间通信看起来像是一个进程进入另一个进程去执行代码,然后带着执行结果返回。binder 驱动原理及实现为了完成进程间通信,binder 采用了AID(Android interface definition language)来描...原创 2019-10-12 16:15:06 · 994 阅读 · 0 评论 -
使用ctag+cscope查看Android源代码
使用ctag+cscope查看Android源代码生成tags和cscope.out的脚本-------------------------------------------------------------------#! /bin/bashecho "正在生成tags文件"/usr/bin/ctags -R --fields=+lS .if [[ $? == 0 ]原创 2014-12-04 15:00:09 · 1048 阅读 · 0 评论 -
vim+ctags+cscope 用法
如果你现在对ctags和cscope等并不了解, 那么请先花上大约至少一天上的时间认真研究他们的基本用法. 等到对他们有了基本的了解之后再回来看这里的说明你将会有更大的收获. 首先要说的是ctags是一个linux上很普遍的源码分析工具, 可以将代码中的函数变量等定义的位置记录在一个名称为tags的文件. 类似于数据库记录功能. tags文件的产出最简单的方法是在需要生成tags的转载 2014-12-04 15:44:09 · 1071 阅读 · 0 评论 -
ubuntu-12.04-搭建Android编译环境
一,开始构建Linux编译环境 1,安装Android官方推荐的ubuntu12.04 LTS AMD64版本。 2,编译Gingerbread (2.3.x)以上android版本(包含主流版本),应使用64位系统环境。 3,在虚拟机上是可以编译android的,但是至少要保证16G的RAM或SWAP和不少于30G的磁盘空间。 4,安装以下工具:Python 2.6-2.7,转载 2014-12-10 13:56:40 · 587 阅读 · 0 评论 -
制作android启动第二屏动画
在开发安装系统时,更换android启动时显示的动画(图片循环播放)1。查看自己的LINUX安装的imagemagick的版本如果没有安装请先安装imagemagick(如ubuntu系统sudo apt-get install imagemagick) # convert -version 2。修改图片(找你喜欢的图片给换了,修改它) convert(图片)-resize原创 2015-02-03 14:21:00 · 715 阅读 · 0 评论 -
android bugreport 分析
android bugreport 分析Get Log from Android Systemadb bugreport > bugreport.txtcopy bugreport to the current directory.bugreport里面包含了各种log信息,大部分log也可以通过直接运行相关的程序来直接获得.步骤如下:1.adb shell 2.进入相转载 2015-05-13 20:36:14 · 1650 阅读 · 0 评论 -
Android makefile文件语法规范及使用模板
Android makefile文件语法规范及使用模板 根据eoeandroid上的的连载,进行一些更新、修改和加亮。今天翻译ANDROID-MK.TXT文件(英文原文件在/development/Ndk/Docs/android-mk.txt)Android.mk文件语法规范Introduction:Android.mk编译文件是用来向Android NDK描述你的C,C转载 2015-06-18 09:47:50 · 524 阅读 · 0 评论 -
Android Makefile分析
Android Makefile分析 随着移动互联网的发展,移动开发也越来越吃香了,目前最火的莫过于android,android是什么就不用说了,android自从开源以来,就受到很多人的追捧。当然,一部人追捧它是因为它是Google开发的。对一个程序员来说,一个系统值不值得追捧得要拿代码来说话。我这里并不打算分析android的代码,而是android的makefile,也许大家已转载 2015-06-18 11:07:40 · 395 阅读 · 0 评论 -
android开发的学习路线
android开发的学习路线第一阶段:Java面向对象编程1.Java基本数据类型与表达式,分支循环。 2.String和StringBuffer的使用、正则表达式。 3.面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。 4.对象实例化过程、方法的覆盖、fi转载 2015-06-18 09:41:30 · 450 阅读 · 0 评论 -
对Android中Log日志文件的分析
对Android中Log日志文件的分析 一,Bug出现了, 需要“干掉”它bug一听挺吓人的,但是只要你懂了,android里的bug是很好解决的,因为android里提供了LOG机制,具体的底层代码,以后在来分析,只要你会看bug,android里应用开发也就很简单了。那我们先来看看android里的ANR,怎么出现ANR呢,很简单。# adb shell# cd转载 2015-06-18 09:54:45 · 713 阅读 · 0 评论 -
ubuntu搭建android编译环境
ubuntu12.04/14.04安装后搭建android编译环境注安装的是64位ubuntu系统1.更新软件仓库和软件升级将以下代码复制并保存为sh后缀的shell脚本如em_ubuntu_conf.sh然后执行/bin/bash em_ubuntu_conf.sh#! /bin/bash原创 2015-01-31 17:59:16 · 1284 阅读 · 0 评论 -
android-studio环境搭建与设置
IDE发展过程1. 最开始是eclipse+独立的ADT; ADT就是Android Developer Tools安卓开发工具;2. 由Google发展为ADT-Bundle;3. Google推出自己的based on IntelliJ IDEA的Android Studio IDE; IDE就是Integrated Development Environment集成开发环境;最开...原创 2019-01-05 12:22:47 · 895 阅读 · 2 评论 -
Android日志操作logcat命令
adb logcat命令使用Usage: logcat [options] [filterspecs]options include:-s Set default filter to silent.Like specifying filterspec '*:S'-f <filename> Log t...原创 2019-07-23 10:38:08 · 489 阅读 · 0 评论 -
Android build编译过程及Android.mk与Android.bp分析
Android build编译过程及Android.mk与Android.bp分析Android的官方网站:http://source.android.com/source/building.html按照google给出的编译步骤如下: 1> source build/envsetup.sh:加载命令 2> lunch:选择平台编译选项 3> make:...原创 2019-10-11 09:20:31 · 7453 阅读 · 0 评论 -
Android Sensor 移植
Sensor作为Android系统的一个输入设备,对Android设备来说是必不可少的。Sensor主要报告G-Sensor、LightsSensor、ProximitySensor、TemperatureSensor等。由于各个Sensor的移植大同小异。本文就主要对G-Sensor和LightSensor进行说明。Sensor的移植主要包括三部分的工作:Linux Kernel中相转载 2014-09-25 08:21:43 · 564 阅读 · 0 评论