android
此昵称已经存在吗
这个作者很懒,什么都没留下…
展开
-
android获取系统信息
String phoneInfo = "Product: " + android.os.Build.PRODUCT; phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI; phoneInfo += ", TAGS: " + android.os.Build.TAGS; phoneInfo原创 2012-07-04 09:51:44 · 1740 阅读 · 0 评论 -
Android系统分析工具(二) ftrace
http://ftrace.svn.sourceforge.net/http://ftrace.svn.sourceforge.net/viewvc/ftrace/trunk/src/可以通过kernel源码中的Documentation/trace 目录下的文档以及 kernel/trace 下的源文件以了解其余文件的用途。在配置linux内核时选择 Kernel hac原创 2012-09-03 15:18:33 · 8181 阅读 · 0 评论 -
android程序包管理器
li_ji_qun@163.comQQ: 591098085http://blog.csdn.net/superkris 包管理服务调用ContextImpl类的getPakcageManager()函数返回PackageManager对象系统权限的目录有两个地方:一个是/system/etc/permissions/*比如这下面的platform.xml文件,该文件为原创 2012-09-04 14:03:25 · 5658 阅读 · 0 评论 -
Android测试(一) Monkeyrunner
一. Monkeyrunnerhttp://developer.android.com\guide\developing\tools\monkeyrunner_concepts.htmlhttp://developer.android.com\guide\developing\tools\MonkeyDevice.htmlhttp://developer.android.com\g原创 2012-09-10 15:20:43 · 1818 阅读 · 0 评论 -
Android测试(二) Monkey
Monkey是另一个测试工具,是一个命令行工具,可以运行在设备或模拟器器里。向系统发送伪随机的用户事件流(键盘输入、触摸屏输入、手势输入等),实现对应用程序的压力测试,是测试软件的稳定性、健壮性的快速有效的方法。Monkey的特征1、测试的对象仅为应用程序包,有一定的局限性。2、 Monky测试使用的事件流数据流是随机的,不能进行自定义。3、可对MonkeyTest的对象,事件数量原创 2012-09-11 10:08:53 · 2238 阅读 · 0 评论 -
android adb usb配置
本来要运行CTS测试,在虚拟机中ubuntu获得windows焦点后,插上usb后运行adb找不到手机设备。后来在SDK中查了下帮助,还是不行,最后发现完全安装SDK中的说明去操作不行,需要进行如下操作:先运行$lsusbBus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB HubBus 002 Device 001原创 2012-09-19 14:33:34 · 12357 阅读 · 3 评论 -
Android 系统属性 Property
最近调试zygote进程的镜像恢复,发现重新设置系统语言或情景模式后,再开机不起作用。经调试发现是用get_property的到的值与实际文件中的值不符。只能分析下property的过程。在Android开机后的init.c的主要工作:queue_builtin_action(property_init_action, "property_init");queue_builti原创 2012-11-21 17:18:44 · 4397 阅读 · 0 评论 -
跟踪Git 项目源代码
如果使用gerrit控制代码合并,则使用gerrit就可以查看分支的修改记录了。没有gerrit,就可以用gitk或gitg跟踪项目的文件修改情况下载gitksudo apt-get install gitk安装meldsudo apt-get install meld gitk 基于 tk/tcl,gitk中间放置的是搜索功能。它不但可以搜索 H原创 2013-02-25 22:57:36 · 1864 阅读 · 0 评论 -
git版本回溯,找到有问题的提交
找到一个好版本和一个坏版本的commit,一般当前版本是坏的。可以git自己来记录,就不用看那个树自己去找了。1. git bisect start //开始二分法查找2. git bisect bad //将当前版本标记为坏的,要保证当前取的是最新的坏版本,或有问题的坏版本。3. git bisect good 把前面没问题的commitid标记为好的,要测试下保证原创 2013-05-16 09:57:33 · 3305 阅读 · 0 评论 -
repo git非主流错误
repo sync -j4 error: bootable/recovery/: platform/bootable/recovery checkout 18e9db376fee71b4559eee00c2bbcb0ac53ddab4 进bootable/recovery/目录中,用git status显示文件,将修改过的文件删除掉,再重新repo syncrep原创 2012-10-11 11:59:15 · 885 阅读 · 0 评论 -
Android系统分析工具(一) Oprofile
Oprofile 是用于Linux 性能分析工具之一源代码在 http://oprofile.sourceforge.net , 也有一些使用的文档Oprofile可以用来分析android的系统性能,它离不开内核的支持,在配置linux内核的时候在CPU PMU的配置里要把Profiling support和OProfile system profiling选上。Oprofile 命原创 2012-09-03 15:00:05 · 1873 阅读 · 0 评论 -
Android Layout布局属性
View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。本文主要详细讲述一些参值。 RelativeLayout用到的一些重要的属性: 第一类:属性原创 2012-08-30 17:45:58 · 1138 阅读 · 0 评论 -
GIT的图形化及Eclipse插件
sudo apt-get install gitk安装在有.git的目录下输入gitk就弹出界面来了。安装Eclipse插件官方网址http://www.eclipse.org/egit/download/eclipse的Help->Install New Software里添加网址http://download.eclipse.org/egit/updates-nightly原创 2012-08-30 20:04:27 · 1899 阅读 · 0 评论 -
在Android SDK下调试framework
通常情况下在eclipese的android SDK下新建一个工程(android4.0), 调试到framework里的函数的时候,在那里设置个断点,断点到了之后,按F5进行step into,这时候会提示找不到framework的代码,因为工程是在android4.0下的AVD调试的,点击attach sources, 选择SDK目录下的sources\android14, 这时就可以进入原创 2012-07-13 13:54:08 · 3524 阅读 · 0 评论 -
Activity启动流程
启动流程,在SDK上建立framework的调试环境后,可以进入framework里设置断点,跟踪activity启动流程 启动一个Activity是用Activity类的startActivity()开始,里面会调用Activity类中的public void startActivityForResult()方法 startActivityForResult()方原创 2012-07-13 10:47:43 · 4749 阅读 · 0 评论 -
Android APK系列3-------使用platform密钥来给apk文件签名
1.使用platform密钥对apk进行签名1.1.进入\build\target\product\security,找到【platform.pk8】和【platform.x509.pem】系统密钥。1.2.进入\build\tools\signapk找到SignApk.java,运行 javac编译成SignApk.class1.3.执行命令java com.android.sign原创 2012-05-08 18:13:26 · 2544 阅读 · 0 评论 -
APK不用su的方式来获取ROOT权限
在android启动过程 里有讲过,startSystemServer启动了zygote,也就是app_main.cppframeworks/base/cmds/app_main.cpp里的主函数。但是在startSystemServer这个函数里有下面的代码zygote String args[] = { "--setuid=1000",原创 2012-07-19 15:40:36 · 6450 阅读 · 1 评论 -
Android - LayoutInflater
在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById()。不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化;而findViewById()是找xml布局文件下的具体widget控件(如 Button、TextView等)。具体作用:1、对于一个没有被载入或者想要动态载入的界面,都需要使用Layo原创 2012-07-26 11:03:28 · 722 阅读 · 0 评论 -
android adb 抓包
抓包准备1. 需要获得tcpdump软件,获取地址(http://www.strazzere.com/android/tcpdump), 一般的方案中已经自带了,不需要单独编译这个工具2. Android手机与电脑USB相连,打开windows命令提示符窗口,运行adb shell3. 运行tcpdump,输入以下命令启动抓包。 tcpdump -p -vv -原创 2012-08-13 16:05:01 · 4287 阅读 · 0 评论 -
Android异步通信机制(四)
使用Binder进行进程间通讯Binder的底层是LINUX内核中的一个驱动,它通过内核空间,实现两个进程间的跨进程调用,数据的传递和运行的结果通过内核进行共享或交换,这样就解决了两个进程不能互相访问内存的问题,至于函数互相调用,有点类似远程控制。 这部分太多了,虽然看明白了,但要写明白太多字了,有空再写,待续。。。。。。。。。原创 2012-08-07 09:56:32 · 2210 阅读 · 0 评论 -
Android异步通信机制(二)
在工作线程中使用Handler在UI线程中已经有了Looper,但是在工作线程中要自己实现Looper: class LooperThread extends Thread { public Handler mHandler; public void run() {原创 2012-07-31 14:15:58 · 2655 阅读 · 0 评论 -
如何避免android ANR
ANR是Application Not Responding的简称,当android某个应用处于长期假死状态时,系统会弹出一个窗口: XXX is not responding, force close or wait。用户可以选择wait让程序继续运行,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。1 ANR的产生应用程序的响应性是由Activity Manager和原创 2012-08-30 17:42:57 · 5246 阅读 · 0 评论