Android
文章平均质量分 86
vrix
产品经理
展开
-
SMALI学习笔记 by vrix.yan
SMALI学习笔记 by vrix.yan文章目录1. 基本语法1.1 数据类型1.2 对象类型1.4 语法关键词2. smali中的包信息3. smali中的声明4. 成员变量4.1 定义4.2 普通字段读写操作4.3 静态字段读写操作5. smali寄存器寄存器的表示6. 指令6. 1 赋值指令6.2 定义指令6.3 跳转指令6.4 比较指令6.5 四则运算6.6 锁指令6.7 数据转换指令6.8 数据运行指令7. smali与java7.1 简单语法7.2 java与smali对比8 函数8.1 函原创 2021-12-27 09:46:54 · 1330 阅读 · 0 评论 -
android 稳定性问题分析20211108
稳定性问题分析20211108文章目录稳定性问题分析202111081. JE 问题分析1.1 Checked Exception1.2 UnChecked Exception2. ANR 问题分析2.1 ANR 类型2.2 常见的ANR发生场景2.3 流程总结2.4 避免措施2.5 ANR 分析方法1. Log2. traces.txt2.6 参考文档3. NE 问题分析3.1 发生NE的流程3.2 TombStone3.3 调用栈4. KE 问题分析4.1 KE类别1. oops (类似ass原创 2021-11-08 08:13:46 · 1925 阅读 · 0 评论 -
Linux驱动学习20211028
Linux驱动学习文章目录1. 设备总线模型1.3 参考文档2. DTS2.1 设备树概念2.2 参考文档3. 字符设备驱动3.1 **字符设备、字符设备驱动与用户空间访问该设备的程序三者之间的关系**3.2 设备注册以及使用方法3.2.1 设备号的分配3.2.2 字符设备驱动模型3.2.3 如何使用字符设备驱动3.3 参考文档4. misc设备驱动4.1 什么是MISC设备4.2. 与字符设备的对比4.3 参考文档5. 块设备驱动5.1 块设备概念5.3 参考文档6. 网络设备驱动6.1 网咯设备描述原创 2021-10-28 16:25:11 · 141 阅读 · 0 评论 -
Linux文件系统VFS
文章目录1. VFS概念1.1 VFS存在的意义1.2 VFS中的4个主要对象2. 超级块3. 文件4. 目录5. 索引节点6. 文件处理流程示例7. 参考文档1. VFS概念为了保证Linux的开放性,设计人员必须考虑如何使Linux除支持Ext2文件系统外,还能支持其他各种不同的文件系统。为此,就必须将各种不同文件系统的操作和管理纳入到一个统一的框架中,使得用户程序可以通过同一个文件系统界面,也就是同一组系统调用,能够对各种不同的文件系统以及文件进行操作。这样,用户程序就可以不关心各种不同文件系统原创 2021-10-21 14:28:59 · 122 阅读 · 0 评论 -
LINUX内核学习
LINUX内核学习1. 系统调用1.1. 什么是系统调用1.2 传统系统调用1.3 系统调用大致可分为六大类1.4 参考文档2. 内核数据结构2.1 传统的双向链表和内核中的双向链表的区别2.2 队列2.3 映射2.1 参考文档3. 中断处理3.1 中断3.2 中断类型3.2.1 硬件中断3.2.2 软件中断3.2.3 异常3.3 参考文档4. 中断下半部的处理4.1 软中断4.2 TaskLet4.3 工作队列 (work queue)4.4 参考文档5. 内核同步与互斥5.1 各种同步机制5.2参考文档原创 2021-10-20 18:13:35 · 132 阅读 · 0 评论 -
android 资源列表-史上最有价值的android资源链接
android资源列表建立对目的,是收集android相关对项目,论坛,资源网站的链接。方便移植和使用android的朋友快速找到需要的信息,资源。由于android是基于linux内核,所以以下列表会给出linux世界比较有价值的网站和论坛链接。暂时没有分类。http://code.google.com/p/android/http://developer.android.com/i原创 2009-08-12 14:24:00 · 2039 阅读 · 1 评论 -
在Linux下,Android模拟器里使用SD卡
1、创建SD卡镜像文件 mksdcard 1024M test_SD2、启动模拟器时,加上参数 emulator -sdcard test_SD (如果不在当前目录,要加全路径)3、cupcake 1.5版需要改写下列文件。 编译mountd,并在文件系统中启动这一服务。 修改 system/core/mountd/Androi原创 2009-08-15 11:21:00 · 1064 阅读 · 1 评论 -
Android源码编译
一.PC工作环境准备 1.从Ubuntu官方主页www.ubuntu.com.cn下载Ubuntu8.04桌面版,然后完全安装。 2.打开ubuntu终端,输入sudo apt-get install命令来通过ubuntu服务器在线安装需要使用的软件,这里不需要选 择软件版本,ubuntu服务器会做自动的版本匹配。待安装的软件有flex,bison,gperf,libsdl-转载 2009-08-15 11:23:00 · 1019 阅读 · 0 评论 -
Android 源码结构
Android Source Code Architecture1. Android framework2. Android directories|-- bionicAndroid使用开源Linux内核同时Google为Linux内核增强了不少东西,自己开发了Bionic库。首先GNU的内核在体积和运行效率上不适合移动设备,系统核心组件都是以动态库的形式驻留在每个进程中,运行效率和内存占用都是十转载 2009-08-15 11:19:00 · 2890 阅读 · 0 评论 -
android 多媒体相关代码概况—(JAVA SCOPE)
1 ./packages/providers/MediaProvider/编译后生成MediaProvider.apk。会在开机时扫描本机和sdcard上的媒体文件(图片、视频、音频),并在/data/data/com.android.providers.media/databases 目录下生成internal.db(/system/meida)和external-?.db(/sdcard)转载 2009-08-15 11:22:00 · 1281 阅读 · 0 评论 -
Android Cupcake源码编译笔记
一直在想下份Android 的源代码来编译,学习。在http://android.git.kerner.org/下了好多天都没下完,repo sync老出错,而且出错就退出,不会自动重试,正郁闷中,发现www.androidin.com的下载恢复了,赶整下了个,还有点小大,压缩包1G,解压后将近2G,编译了一天,终于得到了3个文件:ramdisk.img,system.img,userdata.i转载 2009-08-15 11:20:00 · 718 阅读 · 0 评论 -
Android编译环境配置
1. 安装必须的工具-----------------------------------------------------------------------------------------------------------------------------------------------------------------sudo apt-get install git-core转载 2009-08-17 14:42:00 · 1398 阅读 · 2 评论 -
HOWTO install and setup Android NDK for Windows(Android NDK 开发环境安装和配置)
1. 下载Android 1.5 NDK, Release 1 For Windows 并解压到D:/android-ndk-1.5_r12.下载Cygwin, 执行setup.exe并开始安装(根据网络速度快慢而定, 预计安装需要20分钟左右)注意:1. 选择台湾的http站点,速度会快很多; 2.开发选项里必须勾选gcc和make,否则后期无法编译3.执行桌面图标Cygwin,转载 2009-08-24 16:22:00 · 906 阅读 · 0 评论 -
如何构建Android 1.5系统映像
请先参考如何取得Android源代码一文,通过repo来取得当前最新的android主线代码(或者拿名为android-SDK-1.5_r1的tag也无妨)。1、Host OS编译环境准备在取得android源代码和编译内核的过程中,我们已经至少安装了cURL、 git-core、ncurses-dev、build-essential等软件包(Python2.5已经捆绑转载 2009-08-24 16:36:00 · 763 阅读 · 0 评论 -
android: 制作system.img(yaffs2) 镜像
1. 将android system.img 中文件打包到PCbash-3.2# mount rootfs on / type rootfs (rw) /dev/pts on /dev/pts type devpts (rw) /proc on /proc type proc (rw) /sys on /sys type sysfs (r转载 2009-08-26 11:16:00 · 1484 阅读 · 0 评论 -
Android原生(Native)C开发:编译选项小结
在Android的所有源码中,只有最顶层的目录有一个Makefile,其它所有项目都是调用这个文件进行编译。如果用"showcommands"打出详细编译信息,你会看到大量的编译选项,其实根本不需要这么多,做如下步骤: 将所有头文件复制到 toolchain 的 include 目录,可减少大量的 -I (头文件查找目录)选项,具体请参见:Android原生(Native)C开发之八:转载 2009-06-23 09:46:00 · 1226 阅读 · 0 评论 -
Android cupcake源代码获取和编译 for Ubuntu 9.04
Android cupcake get Source and Builder for Ubuntu 9.04编译环境Ubuntu 9.04 Desktop下载和编译流程根据http://source.android.com/download的说明,成功的下载了所有源代码,整个目录文件接近2G前期准备:安装 git工具内核, 命令 sudo apt-get install原创 2009-06-23 09:49:00 · 1144 阅读 · 1 评论 -
Android原生(Native)C开发之一:环境搭建篇
Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。在Linux下面,你可以自已编译一个交叉编译环境,但Windows下面,就比较复杂(也可以在cygwin中编译一个),但你可以选择下载一个现成的交叉编译环境:http://www.codesourcery.com/gnu_tool转载 2009-06-23 10:01:00 · 932 阅读 · 0 评论 -
Android原生(Native)C开发之二:framebuffer篇
如对Android原生(Natvie)C开发还任何疑问,请参阅《Android原生(Native)C开发之一:环境搭建篇》:http://blog.sina.com.cn/s/blog_4a0a39c30100auh9.html 虽然现在能通过交叉环境编译程序,并push到Android上执行,但那只是console台程序,是不是有些单调呢?下面就要看如何通过Linux的 framebuf原创 2009-06-23 10:05:00 · 1260 阅读 · 0 评论 -
Android原生(Native)C开发之三:鼠标事件篇(捕鼠记)
在做SDL至Android的移植时,键盘事件是能正常捕获到,看了SLD的源码,发现用的device是 /dev/tty0,但是鼠标叫是不能成功捕获,总是得到 0,运行命令查看devices时,显示如下: # cat /proc/bus/input/devicescat /proc/bus/input/devicesI: Bus=0000 Vendor=0000 Produ转载 2009-06-23 10:06:00 · 1111 阅读 · 0 评论 -
Android原生(Native)C开发之四:SDL移植笔记
SDL(Simple DirectMedia Layer)是一套开放源码的跨平台多媒体开发库,使用C语言写成。SDL提供了多种图像、声音、键盘等的实现,可配置性与移植性非常高,开发者可以开发出跨多个平台(Linux、Windows、Mac OS X、Symbian、Widnows Mobiel等嵌入式系统,当然也包括今天要移植的平台:Android)的应用,目前SDL多用于开发游戏、模拟器、媒体播转载 2009-06-23 10:08:00 · 992 阅读 · 0 评论 -
Android原生(Native)C开发之五:zlib移植笔记
zlib(http://www.zlib.net/)是一套非常流行的且开源的压缩、解压缩库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE演算法,最初是为libpng函式库所写的,后来普遍为许多软体所使用。zlib当前版本是 1.2.3,其移植性非常好,本人已经在Windows、Linux、WinCE、转载 2009-06-23 10:09:00 · 1155 阅读 · 0 评论 -
Android原生(Native)C开发之六:libpng移植笔记
libpng(http://www.libpng.org/)是读取PNG(Portable Network Graphic Format)文件的最官方的函数库,所以在介绍libpng之前,有必要先介绍下PNG文件。PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是企图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Net转载 2009-06-23 10:10:00 · 913 阅读 · 0 评论 -
Android原生(Native)C开发之七:libjpeg移植笔记
JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为".jpg"或".jpeg",是网上比较常见的图像文件格式,以小尺寸著称,但其最大的缺点是它是一种有损压缩的图像格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高转载 2009-06-23 10:11:00 · 1165 阅读 · 0 评论 -
Android原生(Native)C开发之八:Toolchain环境搭建篇
Android开源已经有一段时间了,一直没有去研究它,一是没有时间,二是没有Linux环境去测试,三是块头太大了(源码2G,加编译要5G左右)。最近项目差不多近尾声了,终于可以喘口气,有时来好好研究一下Android的源码了,就在WinXP中从网上下载了Android的源码,一开始只是想看看自已感兴趣的部分(GUI、OpenGL ES、Audio等),后来在网上找到了一些在Cygwin下搭建原生开转载 2009-06-23 10:12:00 · 1706 阅读 · 0 评论 -
Android原生(Native)C开发之九:OpenGL ES初探
在还没有研究Android的原生(Native)开发之前,就一直很好奇google用的是哪一种OpenGL ES的实现,也写过一些Java 3D的代码去测试3D的性能,但结果很不理想(http://blog.sina.com.cn/s/blog_4a0a39c30100auh6.html),显示一个MD2低模,也只能达到 6 FPS左右,后来也尝试过通过SDL来实现的3D:TinySDGL,g转载 2009-06-23 10:13:00 · 1470 阅读 · 0 评论 -
Android原生(Native)C开发之十:用Code::Blocks来开发
-- 用Code::Bocok搭建Android Native可视化开发环境可能很多朋友一直用文本编辑器来写Android的程序,经常会出现一些变量写错一个字母或少逗号分号的情况,直到编译时才会有错误提示,而且效率不高。如果你正为这个苦恼的话,我郑重且强烈地向你推荐:Code::Blocks!关于Code::Blocks,我就不多介绍了,只记得三年前用过后,就很少用Dev C++及转载 2009-06-23 10:14:00 · 1178 阅读 · 0 评论 -
浅谈Google Skia图形引擎
2008 年九月,Google 宣布以改良过的 WebKit 为核心的网络浏览器 Chrome,揭露了众多新特征,比方说崭新的 [V8] JavaScript (ECMAscript) 执行引擎,或许因为太亮眼,掩蔽了所使用另一个开放原始码项目 [skia], 后者是个 2D 向量图形处理函式库,包含字型、坐标转换,以及位图都有高效能且简洁的表现。不仅用于 Google Chrome 浏览器,新兴转载 2009-06-23 10:53:00 · 2102 阅读 · 0 评论 -
Android skia 和open skia的比较
1. Android对include的内容进行了分类,如:animator, core, effects, graphics,… 而opensource的只归类了一个corecg。绝大部分内容类似。2. 同样Android对source也进行了归类。Opensource 的sgl目录对应到Android的src/core目录Opensorce的sgl ßà Andr转载 2009-06-23 10:54:00 · 4011 阅读 · 0 评论 -
Linux 2.6.11 MTD驱动情景分析
一、Flash硬件驱动层:硬件驱动层负责在init时驱动Flash硬件,LinuxMTD设备的NOR Flash芯片驱动遵循CFI接口标准,其驱动程序位于drivers/mtd/chips子目录下。NAND型Flash的驱动程序则位于/drivers/mtd/nand子目录下二、MTD原始设备:原始设备层有两部分组成,一部分是MTD原始设备的通用代码,另一部分是转载 2009-06-26 13:50:00 · 744 阅读 · 0 评论 -
platform_device和platform_driver
首先介绍一下注册一个驱动的步骤:1、定义一个platform_driver结构2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量3、实现其probe、remove等函数看platform_driver结构,定义于include/linux/platform_device.h文件中:struct platform_driver {转载 2009-06-26 14:16:00 · 848 阅读 · 0 评论 -
Linux Platform Device and Driver
从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。 Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。 Linux platform driver机制和传统的device driver转载 2009-06-26 14:25:00 · 1115 阅读 · 0 评论 -
Android build system
[First written by Steve Guo, please keep the mark if forwarding.]Device/docs/design/build-system.html is a good start point to understand Android build system. In this topic,转载 2009-06-24 15:18:00 · 1296 阅读 · 0 评论 -
Build Android Platform
1 Android Source Code Download1.1 Website1.2 Create Directory1.3 Donwload Tool Chain1.4 下载Android平台源代码2 编译Android平台以及SDK2.1 完全编译2.2 模块编译2.3 增量转载 2009-08-31 10:56:00 · 2056 阅读 · 0 评论 -
由安装Busybox到Android过程中想到的
Android的文件系统以ramdisk.img形式压缩,在系统启动时每次都启动解压挂载之;Android文件系统中/data目录主要存放用户数据,以userdata.img形式压缩,在系统挂载完总文件系统后解压该镜象文件并复制其中的内容至文件系统中的/data目录下。Android文件系统中/system目录主要存放系统数据,以system.img转载 2009-09-02 14:43:00 · 1064 阅读 · 2 评论 -
Android SDCard Filesystem
android的在s3c2440的移植,编译过程清参照熊猫哥哥的大作《s3c2410/2440(armv4t) 移植教程》。本文所讲述的是将android的根目录置于sd卡上。 1. linux kernel部分 1)sd card支持 make menuconfig 选择 Device Drivers ---> 进入转载 2009-09-03 09:46:00 · 1080 阅读 · 0 评论 -
从android模拟器中提取文件系统
首先先给andriod装上busybox1. 下载busybox fro android http://blog.chinaunix.net/u/20947/showart.php?id=19132282. 运行adb shell进入到android emulator3. #mkdir /d转载 2009-09-03 09:58:00 · 1463 阅读 · 0 评论 -
定制android启动界面
本文想要说的是如何定制android设备启动后进入的初始界面,具体说来就是目前android默认起来以后直接进入,现在想给它加一些其他的选项,如图所示:在这里你可以选择home进入android平台自带的默认系统,也可以选择Myhome进入你自己定制的系统。那么如何实现这个启动界面的定制呢,其实很简单:创建一个新的项目Myhome,然后编辑它的manifest.xml文件:转载 2009-09-03 10:01:00 · 792 阅读 · 0 评论 -
Android: 如何创建AVD以及选择合适target类型
Android1.5中引入了AVD(Android Virtual Device)。在模拟器上运行你的应用程序之前必须首先创建一个你的AVD(所以,可以理解为AVD就是一个配置好了的模拟器)。创建AVD你需要运行:androidcreate avd命令,先看一下它的用法: Usage: android [转载 2009-09-03 10:03:00 · 1353 阅读 · 0 评论 -
Android移植到VirtualBox及详细流程
请想要深入学习和研究Android的朋友加入Opendroid QQ群81410571,我们目前已成功移植android到s3c2440以及virtualbox等。正在筹划进一步的深入学习计划! VirtualBox是Sun推出的一款跨平台开源虚拟机软件,Android目前已经支持x86原生编译,我们的目的是让Android可以在VirtualBox上运行。鉴于x86虚拟机平台调试的方便性,转载 2009-09-03 10:10:00 · 879 阅读 · 0 评论