![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
[3.Sys] Android Development
文章平均质量分 51
林学森
《机器学习观止——核心原理与实践》
《深入理解Android内核设计思想》
展开
-
Android Adb Analyse
TABLE OF CONTENTS1 Introduction1.1 Purpose1.2 Definitions, Acronyms, and Abbreviations2 Architecture2.1 Module Architecture Diagram3转载 2012-05-12 09:49:47 · 1954 阅读 · 0 评论 -
说说Android 两种为自定义组件添加属性的使用方法和区别
Android 自定义View 己经不是什么新鲜话题,Android Api提供了一大堆基础组件给我们,需要什么特定功能还需要我们继承它们然后定制更加丰富的功能。前面有篇文章也说过为自定义VIEW添加属性,但只是一笔带过,这里就拿这点来说说吧。第一种添加属性的方法,之前我也是经常使用这种写法,代码如下: package com.terry.attrs;import转载 2011-12-30 15:21:53 · 1406 阅读 · 0 评论 -
对Android canvas的一点粗浅理解
这几天看了android 的canvas, 这里做个小结,不一定对,请大家指正 1. 任何visible的物体继承自view,这就有具体的属性,比如这个view的大小,位置等等。Android会根据你的程序形成一根view树,通过测量大小(onMeasure),确定位置,再调用ondraw进行实际的图形绘制。 2. 在onDraw中,有一个canvas,可以看成是一块画布。这块画布原创 2011-12-29 14:28:18 · 2938 阅读 · 1 评论 -
Virtualbox, guestos=ubuntu的vdi瘦身方法
如果guestos是windows的话比较简单,网上有很多教程。对于ubuntu的情况,有不少文档介绍使用remount 根文件系统为read only的方法(init 1),这种方法在文件系统为ext4时无效。所以在这里我们采用另一种方式来实现。1.) Install “zerofree” on your virtualbox guest machine.2.) Boot t原创 2012-01-12 11:54:13 · 2389 阅读 · 0 评论 -
反組譯並修改 Android 應用程式實例
原文地址:http://jserv.blogspot.com/2010/05/android.html转载是由于国内用户实在没法访问blogspot网站,但本文又具有相当大的实用价值。為了某個實驗的動機,我們評估反編譯 Android 應用程式的可行性,本文即是筆者的心得與實際的範例,僅供參考。就筆者的認知,目前還沒有針對 Android 的 DEX to Java source转载 2012-01-11 09:01:50 · 1713 阅读 · 0 评论 -
android image 压缩和解压
android-sdk文件夹下platform存放的是android对应的平台术语平台表示android本身(platform),包括所有的二进制文件、代码库和工具。SDK中提供的emulator只是android平台中到众多组件之一【google android 揭秘】1.解压文件下载工具 wget http://unyaffs.googlecode.com/转载 2012-01-10 11:59:16 · 1867 阅读 · 0 评论 -
android 中使用socket使native和framework通信
一般的native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层呢?android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,具体实现如下:android中使用jni对linux中的socket进行了封装。使用起来十分的方便。转载 2012-01-10 10:06:38 · 2186 阅读 · 0 评论 -
反编译与回编译android的framework.jar(其他jar文件也可参考)
注: 关于smali语法,可以参考官方 http://code.google.com/p/smali/w/list或 http://blog.csdn.net/uiop78uiop78/article/details/7186638最近对android 2.3.3的framework.jar进行了一些反编译和回编译的操作,写下来备忘。一、framework.jar反编译为s转载 2011-11-28 14:15:06 · 11322 阅读 · 3 评论 -
smali语法及参考说明
smali语法可以参考官方说明,因为google服务器经常无法访问,这里把重要点摘抄出来。文章挺浅显的,就不翻译了TypesMethodsAndFields Some general information about how types, methods and fields are represented in dalvik bytecodeUpdated Jul原创 2012-01-09 10:53:00 · 22556 阅读 · 3 评论 -
对View组件布局和绘制过程, 以及Drawable绘制的理解
Android的view组件显示主要经过mesure, layout和draw这三个过程。在mesure阶段里调用mesure(int widthSpec, int heightSpec)方法,这个方法是final不能被重写,在这个过程里会调用onMesure(int widthSpec, int heightSpec)方法。当组件设置好大小后,调用final layout(int l, int转载 2011-12-21 15:28:16 · 1251 阅读 · 0 评论 -
Android各种切换特效资料收集(3D, Launcher, viewanimator,animation...) 持续更新
开个贴专门收集分析目前主流的android特效。 以下大部分资料均引用自互联网,感谢原作者的辛勤劳动。 1. Launcher 的页面切换特效 我们知道,launcher本身的页面切换是平滑移动。目前已有很多3D版本的桌面出现,比如SPB SHELL等等。 可供参考的实现是 http://www.ibm.com/developerworks/cn/opensource/os-原创 2011-12-21 14:00:40 · 7028 阅读 · 2 评论 -
让你自己写的Android的Launcher成为系统中第一个启动的,也是唯一的Launcher.
如果你要定制一个Android系统,你想用你自己的Launcher(Home)作主界面来替换Android自己的Home,而且不希望用户安装的Launcher来替换掉你的Launcher.我们可以通过修改Framework来实现这样的功能。这里以Android2.1的源代码为例来实际说明。1)首先了解一下Android的启动过程。 Android系统的启动先从Zygote转载 2011-12-21 13:43:13 · 1358 阅读 · 0 评论 -
颜色与UI
顾名思义,GUIs(Graphical User Interfaces,图形化用户界面)从视觉上展现了它们的特性与功能。人机交互在很大程度上是依赖于可视界面,寻找某个事物,并与图形化UI元素进行交互。颜色是任何视觉画面的主要特征,这并不仅限于计算机屏幕,而是任何我们所看到的事物。因为在我们日常生活中,大多数所看到并进行交互的事物都是有颜色的——或许是看到的太多了,我们已对这点习以为常了。反过来说,转载 2011-12-10 13:16:06 · 1914 阅读 · 0 评论 -
ANDROID文件关联之MIME TYPE
在manifest文件里->activity 添加 这样就把当前程序注册为 可以打开/查看所有类型的文件. 或者要查看jpeg, mimeType要改为: image/jpeg当在文件管理器里点击任何文件, 系统都会试图去执行你的程序. -------------------------------转载 2011-12-12 08:36:40 · 1884 阅读 · 0 评论 -
在Eclipse下使用C/C++ (JNI)最简单的方式
在网上看了很多资料实现JNI,可谓花样百出,其实android自身已经提供了最好的实现方法,NDK NDK 下载: http://developer.android.com/sdk/ndk/index.htmlNDK的使用也很简单。我把它分为两步。第一步,产生.h头文件,并根据此头文件写.C/.CPP文件我们需要在.java中将相应method声明为native,具体可参考原创 2012-03-23 17:21:53 · 1562 阅读 · 0 评论 -
在android emulator(qemu)模拟串口
默认的android 模拟器是没有串口的,但其实qemu自身是可以提供相应功能的。关于QEMU,可以参见官网 http://qemu.weilnetz.de/qemu-doc.html启动一个带串口的模拟器,步骤如下:1. 命令行形式启动一个emulator,这样我们就可以传参给QEMU了。下面是我写的一个例子,你可以改成自己的相应路径 "C:\Program Files\An原创 2012-03-27 11:31:46 · 5406 阅读 · 0 评论 -
Android开发工具——ADB(Android Debug Bridge)
Android开发工具——ADB(Android Debug Bridge) 概览Android Debug Bridge (adb) 是一个android开发人员必会的多功能的调试工具,确实它的名字一样,它在开发者和目标机器之间,架起了一座bridge。 adb的用法很简单,只要看完SDK文档关于ADB的部分,(android-sdk-linux_86/docs/g转载 2012-05-12 09:36:09 · 3022 阅读 · 0 评论 -
android中生成和使用jar
参考资料1: http://blogold.chinaunix.net/u/9577/showart_1826330.html Export LibraryPrepare source codeCreate an Android projectCreate source code, and fix all bugRemove res/*Remove unuse转载 2012-05-08 16:45:07 · 1611 阅读 · 0 评论 -
Android 自动化测试初探
开个文研究自动化测试。前期先用来搜集各种概念资料1. android 官方测试参考 http://developer.android.com/guide/topics/testing/index.html2. 冒烟测试 http://baike.baidu.com/view/120013.htm3. 从测试的对象来看,测试分黑盒,白盒。 白盒,我的原创 2012-05-04 15:53:39 · 1885 阅读 · 0 评论 -
EQ均衡器原理
做音乐最离不开的效果器是什么?相信大多数朋友都会回答:是EQ!不错,正是有了这个所谓“均衡”的效果器,我们的音乐才不会过载,乐器音色才会如此丰富。然而知道1加1等于2更要知道1加1为什么等于2。今天我把这个效果器扒光,从根本上来分析它的工作原理。“EQ的原理??我知道我知道!!声波是由不同谐波组成的!所谓均衡处理就是改变这些谐波的振幅。”这个说法也对也不对。说它对是因为均衡效果器的初衷是这转载 2012-05-04 11:26:14 · 11920 阅读 · 3 评论 -
对于canvas, drawable, bitmap的理解
这三个概念很容易把人绕晕,找了不少网上资料,都是抄来抄去,而且完全没说到点子上。看了下官方文档及源码,感觉可以这样理解这三个东东。其实中心思想就一个,bitmap是最终存储数据的地方,其它类是辅助计算数据的。也就是说,1. bitmap用于存储最终的数据(用于显示,比如对应每个点的RGB值)2. canvas是一个填写bitmap的工具。有点像bitmap是一张白纸,而canv原创 2012-04-13 16:58:58 · 2030 阅读 · 1 评论 -
android资源管理备注
1. /res下的目录是固定的,不可以随便命名。比如/layout, /drawable, /xml, /value等等。 其中value下可以放string, array, style, dimen等各种资源2. 目录下文件的文件名是可以随便命名的。3. R中分配的id是针对可以表达资源类型的最小包含集。比如对于layout来说,它分配的id名是针对整个文件的,因为这个原创 2012-04-24 11:01:16 · 1195 阅读 · 0 评论 -
如何让应用适应各种屏幕和density
最近写一个应用,发现在density不同的情况下,有时不能满屏。但我的layout里用的是match_parent。所以开一个帖,总结下如何让你的应用程序能适用所有的屏幕。以下部分资料来源于网络搜索,因有的出处已不可查,感谢原作者。在阅读以下内容时,建议先看下GOOGLE官方的guide http://developer.android.com/guide/practices/scre原创 2011-12-19 15:04:33 · 2753 阅读 · 0 评论 -
Android的layout分析
Android有六种layout, framelayout,linearlayout, tablelayout, relativelayout等等 (http://developer.android.com/resources/tutorials/views/index.html)1. 对于各个layout的一些属性,一直有些困惑。比如match_parent的parent是指什么; 顾名原创 2011-11-01 10:11:46 · 1171 阅读 · 0 评论 -
LOCAL_MODULE_TAGS说明
LOCAL_MODULE_TAGS :=user eng tests optionaluser: 指该模块只在user版本下才编译eng: 指该模块只在eng版本下才编译tests: 指该模块只在tests版本下才编译optional:指该模块在所有版本下都编译 eng This is the default flavor. A plain "make" is the sa原创 2011-11-21 11:11:56 · 4495 阅读 · 0 评论 -
Adw Launcher相关
以下部分内容来源网络,谢谢原作者1. 源码下载android_packages_apps_Launcher:git://github.com/AnderWeb/android_packages_apps_Launcher.gitADWLauncher2:git://github.com/boombuler/ADWLauncher2.gitADW.Theme-Te原创 2011-11-21 10:42:37 · 1545 阅读 · 0 评论 -
如何下载android源码
网上很多关于这个topic的资料,但我想说的是,android变化太快,很可能你看到的资料已经早就过期了。所以,最好的办法就是,参考官方文档说明http://source.android.com/source/initializing.html原创 2011-10-31 11:28:29 · 1016 阅读 · 0 评论 -
Android编译系统使用杂解
感觉android编译系统纷繁复杂,有必要做个整理个人觉得编译出来的东西大致分为三类1. 设备需要的img. 设备可以是手机,pad等等具体的设备,也可是android emulator。编译时,我们需要知道此设备运行在哪个架构上,哪个OS上 涉及到的编译命令: make, build/envsetup.sh, m,mm,mmm等等2. 提供给应用层开发的s原创 2011-10-31 10:47:46 · 1033 阅读 · 0 评论 -
Android Layout XML属性
Layout对于迅速的搭建界面和提高界面在不同分辨率的屏幕上的适应性具有很大的作用。这里简要介绍Android的Layout和研究一下它的实现。Android有Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout,AbsoluteLayout。放入Layout中进行排布的View的XML属性:1.几种Layout中Item转载 2011-11-17 17:11:50 · 898 阅读 · 0 评论 -
android:layout_gravity 和 android:gravity 的区别
gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。android:layout_gravity 和 android:gravity 的区别从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的。android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什转载 2011-11-15 10:27:06 · 820 阅读 · 0 评论 -
binder设计与实现
摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和转载 2011-10-20 08:31:06 · 1145 阅读 · 0 评论 -
Android 2.1 源码目录结构详解
Android 2.1|-- Makefile|-- bionic (bionic C库)|-- bootable (启动引导相关代码)|-- build (存放系统编译规则及generic等基础开发包配置)|-- cts (转载 2011-06-18 15:16:00 · 873 阅读 · 0 评论 -
android源码下载以及编译
由于论坛改版,很多有用的资源都不见了,所以这里把自己对cupcake下载和编译方法进行详细说明,以后还会陆续发完善的开发板移植说明、内核编译说明、一些模块级的分析等,希望对刚开始做android的朋友有所帮助,同时欢迎高手指正。 一.PC工作环境准备 1.从Ubuntu官方主页www.ubuntn.com.cn 下载Ubuntu8.04桌面版,然后完全安装。 2.打开转载 2011-06-18 14:53:00 · 932 阅读 · 0 评论 -
Android开发总结之一,搭建开发环境
Android的开发现在是如火如荼,逞现在不是很忙了,学习了下,这里记录下了在windows在如何搭建Android开发环境,对自己是个记录,对新入门的兄弟姐妹们可以参考一下!(1)安装JDK,省略。(2)下载Android SDK并配置。可以到http://www.android123.com.cn/sdkxiazai/上下载,下载好后,解压缩,配置SDK,在Windows机器上,右键单击我的电脑,选择属性->高级,点“环境变量”按钮,修改“系统变量”下面的Path变量,把SDK tools的真实路径加入转载 2011-02-21 20:07:00 · 1012 阅读 · 0 评论 -
Android 开发概述
1. Android 系统架构 参考另一关于系统架构的转载文章 2. 文件类型 class: java编译后文件 Dex:android上可执行文件,可通过工具将java字节码转换为dex字节码(Dalvik) apk: android 安装包原创 2011-03-11 15:27:00 · 1092 阅读 · 0 评论 -
Android 系统架构
<br />Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。<br /><br />Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。<br />2.应用程序框架 <br /> <br /> 开发人员也可以完全访问核心应用程序所使用的API框架。该应用转载 2011-03-11 15:26:00 · 1349 阅读 · 0 评论 -
Android编译更新模拟器
当我们修改android底层时(以framework为例),可能希望模拟器上也能体现出这种变化。方法大致有两种1. 更新模拟器上的映像文件。也就是sdk的platform下的images。 网上找到的关于这种方式的资料,都没有成功解决。我尝试的结果emulator启动时都是黑屏,有没有高手能指点下2. adb push 到avd的system下(可行)步骤如下(基于linu原创 2011-10-29 15:45:16 · 2153 阅读 · 0 评论 -
详解Android首选项框架ListPreference
探索首选项框架在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景。假设你正在编写一个应用程序,它提供了一个搜索飞机航班的工具。而且,假设该应用程序的默认设置是根据机票价格由低到高的顺序显示航班,但用户可以将首选项设置为始终根据最少停站数或特定航线来航班。如何实现这一场景?ListPreference显然,必须为用户提供UI 来查看排序选转载 2011-11-22 09:01:14 · 1592 阅读 · 0 评论 -
Android2.2 API 中文文档系列(2) —— EditText
前言 关键字: Android API 中文,android sdk 中文,Android EditText 详解 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com Android中文翻译组:http://androidbox.sinaapp.com/ 正文 一、结构 java转载 2011-12-08 10:46:52 · 1014 阅读 · 0 评论 -
Android 2.3 上Launcher2调试(Eclipse)
1. 在linux下编译整个工程 2. 将Launcher2拷贝出来 3. 需要以下几个library(拷贝到launcher2根目录下)。添加方法就是build path->user library->new library->add jar ,注意调整order /out/target/common/obj/JAVA_LIBRARYS/framewor原创 2011-12-06 11:00:17 · 1176 阅读 · 0 评论