![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android学习笔记
文章平均质量分 71
By漫步
技术宅,逻辑控。
展开
-
HIDL学习笔记之HIDL C++(第二天)
快速消息队列 (FMQ)HIDL 的远程过程调用 (RPC) 基础架构使用 Binder 机制,这意味着调用涉及开销、需要内核操作,并且可以触发调度程序操作。不过,对于必须在开销较小且无内核参与的进程之间传输数据的情况,则使用快速消息队列 (FMQ) 系统。FMQ 会创建具有所需属性的消息队列。MQDescriptorSync 或 MQDescriptorUnsync 对象可通过 HIDL ...翻译 2018-11-06 09:46:23 · 5921 阅读 · 0 评论 -
Android.mk语法解析
什么是Android.mkAndroid.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名、引用的头文件目录、需要编译的.c/.cpp文件和.a静态库文件等。Android.mk文件用来告知NDK Build系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。所以,请尽量少的在A...原创 2019-01-21 09:48:36 · 423 阅读 · 0 评论 -
动态库和静态库的特性
大师兄镇楼。O(∩_∩)O哈哈~## 什么是库库是共享程序代码的方式,一般分为静态库(static libraries)、动态库(dynamically loaded libraries)和共享库(shared libraries)。静态库静态函数库实际上就是简单的一个普通的目标文件的集合,一般来说习惯用“.a”作为文件的后缀。静态函数库,是在程序执行前就加入到目标程序中去了 。静态...原创 2019-01-18 16:09:05 · 440 阅读 · 0 评论 -
(Android下使用)Google Test C++单元测试框架(二)
使用TEST CASETEST() and TEST_F() implicitly register their tests with googletest. So, unlike with many other C++ testing frameworks, you don’t have to re-list all your defined tests in order to run the...原创 2019-01-17 20:55:13 · 886 阅读 · 0 评论 -
(Android下使用)Google Test C++单元测试框架(一)
什么是gtestgtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。官网:GoogleTest它分为好几种测试工具。依次介绍:GTest Runner...原创 2019-01-17 13:59:19 · 1606 阅读 · 1 评论 -
android信号量问题(sem_open、sem_close、sem_unlink)
在android下使用信号量时,需要链接libc库。但是在libc库中,函数sem_open、sem_close、sem_unlink只有声明,并未实现。可以从一下代码中找到证据。代码路径:bionic/libc/include/semaphore.h/* * Copyright (C) 2008 The Android Open Source Project * All right...原创 2018-12-11 16:01:37 · 1539 阅读 · 1 评论 -
android系统调试工具adb命令
查看adb的版本$ adb version查看当前PC端连接有多少设备$ adb devices获取设备的状态$ adb get-state设备的状态有 3 钟,device , offline , unknowndevice:设备正常连接offline:连接出现异常,设备无响应unknown:没有连接设备获取root$ adb root$ adb remount...原创 2018-12-26 19:07:53 · 485 阅读 · 0 评论 -
ubuntu16.04下配置android调试工具adb
什么是adb我们口中所讲的adb是个泛指,这其中有两个工具——Fastboot和ADBFastboot:意思是快速启动。在安卓手机中fastboot是一种比recovery更底层的刷机模式。就是使用USB数据线连接手机的一种刷机模式。相对于某些系统(如ios)卡刷来说,线刷更可靠,安全。在PC端使用fastboot需要相应的fastboot工具,我们平常使用工具刷写Recovery镜像,实...原创 2018-12-06 20:08:23 · 1972 阅读 · 0 评论 -
android匿名共享内存Ashmem(c库接口)
## AshmemAndroid系统的匿名共享内存Ashmem驱动程序利用了Linux的共享内存子系统导出的接口来实现。在Android系统中,匿名共享内存也是进程间通信方式的一种。相比于malloc和anonymous/named mmap等传统的内存分配机制,Ashmem的优势是通过内核驱动提供了辅助内核的内存回收算法机制(pin/unpin)。内存回收算法机制就是当你使用Ashmem...原创 2018-12-04 19:26:14 · 820 阅读 · 0 评论 -
android进程间通信之Binder学习笔记(一)
BinderBinder 是一种进程间通信机制,基于开源的 OpenBinder 实现;OpenBinder 起初由 Be Inc. 开发,后由 Plam Inc. 接手。从字面上来解释 Binder 有胶水、粘合剂的意思,顾名思义就是粘和不同的进程,使之实现通信。Android系统是基于Linux系统的,理论上应该使用Linux内置的IPC方式。Linux中的IPC方式有管道、信号量、共享...原创 2018-11-24 16:48:02 · 212 阅读 · 0 评论 -
android系统结构和源码版本
Android的系统架构采用了分层架构的思想,如图。从上层到底层共包括四层:1.应用层2.应用框架层3.系统库和Android虚拟机4.Linux内核应用层Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程序编写,其中还可以包含各种资源文件(放置在res目录中)JAVA程序及相关资源经过编译后,将生成一个APK包。Android本身提供了...原创 2018-11-23 10:13:16 · 202 阅读 · 0 评论 -
android源码编译(ubuntu16.04 64位)
编译步骤1. 源码下载;2. 构建编译环境;3.编译源码;4.运行.编译之前首先要下载和安装repo和gitt工具。repo和gitGoogle采用Git对AOSP项目进行多仓库管理.为了方便需要,对git语句进行了封装,也就形成了repo.创建编译文件夹$ mkdir source$ cd source注意,这个文件夹所在的磁盘空余要大于100G,编译后需要很大的空间。...原创 2018-11-12 19:36:38 · 402 阅读 · 0 评论 -
HIDL学习笔记之HIDL C++(第一天)
最近在学习HIDL,有很多的疑惑,在这里记录一下,加深自己的理解,以下部分大多来自官网。官网:https://source.android.com/devices/architecture/hidlHIDL定义HAL 接口定义语言(简称 HIDL,发音为“hide-l”)是用于指定 HAL 和其用户之间的接口的一种接口描述语言 (IDL)。HIDL 允许指定类型和方法调用(会汇集到接口和软件...原创 2018-11-02 18:19:56 · 3287 阅读 · 1 评论 -
ubuntu配置jre8
什么是jreJRE为Java Runtime Environment的简称,Java Runtime Environment(包括Java Plug-in)是Sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm...原创 2019-01-10 10:58:33 · 1745 阅读 · 1 评论