Android开发
文章平均质量分 74
安然无忧
技术无捷径,一步一脚印
展开
-
Android 开发环境搭建
——工欲善其事必先利其器引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。本文的主题如下:1、环境搭建1.1、JDK安装1.2、Eclips转载 2014-10-22 21:13:25 · 544 阅读 · 0 评论 -
Android.mk基础知识
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。每个模块属下列类型之一: 1)APK程序,一般的Android程序,编译打包生成apk文件 2)JAVA库,java类库,编译打包生成转载 2015-09-27 09:32:16 · 431 阅读 · 0 评论 -
获取hw_device_t
1 什么是HALHAL的全称是Hardware Abstraction Layer,即硬件抽象层.其架构图如下:Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL束缚。思路是把控制硬件的动作都放到了Android HAL中,而linux driver仅仅完成一些简单的数据交互作用,甚至把硬件寄存器空间直接映射到user space。而Andr转载 2015-08-20 16:43:15 · 1731 阅读 · 0 评论 -
Android Ion
Back in December 2011, LWN reviewed the list of Android kernel patches in the linux-next staging directory. The merging of these drivers, one of which is a memory allocator called PMEM, holds the pr原创 2015-07-24 18:45:24 · 2338 阅读 · 0 评论 -
Android Ion用户空间和内核空间
目录[-]ION filesION architectureION APIsUserland APIKernel APIHeap APIION debugION is the memory manager of Android, it could be used by graphic and multimedia stacks to allocate buffers.I转载 2015-08-14 16:58:49 · 1941 阅读 · 0 评论 -
ION基本概念介绍和原理分析
ION将内核态形形色色的内存分配纳入统一的管理接口之中,更重要的设计意图是为内存在不同用户态进程之间传递和访问提供了支持。每个ion_buffer与一个struct file关联,其handle纳入进程file desc空间而不是/dev/ion设备内单独的handle空间,方便之处如下:每个buffer一个handle,便于更灵活地细粒度地控制每个buffer的使用周期;向用户进程输转载 2015-08-12 20:35:09 · 815 阅读 · 0 评论 -
Android的MediaPlayer架构介绍
第一部分 MediaPlayer概述 Android的MediaPlayer包含了Audio和video的播放功能,在Android的界面上,Music和Video两个应用程序都是调用MediaPlayer实现的。 MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进转载 2015-08-10 19:40:30 · 445 阅读 · 0 评论 -
adb logcat 查看日志
使用logcat 命令 查看和跟踪系统日志缓冲区的命令logcat的一般用法是:[adb] logcat [option>] ... [filter-spec>] ... 下文介绍过滤器和命令选项,详细内容可参见Listing of logcat Command Options。 可以在开发机中通过远程shell的方式使用logcat命令查转载 2015-08-10 18:10:45 · 776 阅读 · 0 评论 -
MIPI概述
对于现代的智能手机来说,其内部要塞入太多各种不同接口的设备,给手机的设计和元器件选择带来很大的难度。下图是一个智能手机的例子,我们可以看到其内部存储、显示、摄像、声音等内部接口都是各不相同的。即使以摄像头接口来说,不同的摄像头模组厂商也可能会使用不同的接口形式,这给手机厂商设计手机和选择器件带来了很大的难度。MIPI (Mobile Industry Processor Inter转载 2015-07-06 10:18:46 · 1110 阅读 · 0 评论 -
adb命令使用
adb介绍SDK的Tools文件夹下包含着Android模拟器操作的重要命令adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作: 1、快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;转载 2014-10-20 15:01:50 · 836 阅读 · 0 评论 -
Android JNI知识简介
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Ja转载 2014-10-24 11:30:53 · 477 阅读 · 0 评论 -
Android 应用-->JNI-->Kernel调用流程
很久之前写的一个流程文档,从上层界面一直调用到内核的过程,最近同事跟我要,我看了下又在整理了下,纯属个人分析(不过都运行验证过),不对的请大牛指出Alarm 调用流程,alarm的流程实现了从上层应用一直到下面driver的调用流程,下面简单阐述:涉及代码;./packages/apps/DeskClock/src/com/android/deskclock/Alarm转载 2014-10-24 12:46:19 · 886 阅读 · 0 评论 -
Android Binder知识简介
Android深入浅出之Binder机制一说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l ServiceManager,这是Android转载 2014-10-24 12:41:05 · 633 阅读 · 0 评论 -
Android基本架构
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。android分为四个转载 2014-10-24 11:07:37 · 499 阅读 · 0 评论 -
Android HAL知识简介
1 HAL简介 Android 的 HAL(Hardware Abstract Layer硬件抽象层)是Google因应厂商「希望不公开源码」的要求下,所推出的新观念,其架构如下图。虽然 HAL 现在的「抽象程度」还不足,现阶段实作还不是全面符合 HAL的架构规划,不过也确实给了我们很好的思考空间。ce - 许兴旺的博客" border="0" alt="Android HAL 分析转载 2014-10-24 12:33:37 · 993 阅读 · 0 评论 -
hellworld项目结构
前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下:1、HelloWorld项目的目录结构1.1、src文件夹1.2、gen文件夹1.3、Android 2.1文件夹1.4、assets 1.5、res文转载 2014-10-22 21:47:07 · 690 阅读 · 0 评论 -
LOG_NDEBUG作用
log.h文件:/* * Normally we strip ALOGV (VERBOSE messages) from release builds. * You can modify this (for example with "#define LOG_NDEBUG 0" * at the top of your source file) to change that beh转载 2016-02-02 12:06:48 · 10817 阅读 · 0 评论