Android开发
Android开发过程中,遇到的常见问题
zjg555543
技术改变世界
展开
-
抓包工具TcpDump for Android + wireshark
1.通过USB接口连接指定android手机2.adb install 然后拖指定包 (装android包)3.抓Wiresharkadb shell# cd /data/local (指定到data/local目录,且通过ls查看是否装有tcpdump包)./tcpdump -s 0 -vv -w test.pcap ( -s是打印日志,0 从0开始,-vv 详细日志,-w 写入 ) adb p原创 2013-04-11 13:29:43 · 516 阅读 · 0 评论 -
android makefile 编译分析及 android.mk分析
下面是main.mk文件包含关系,本文档主要说明的就是这些文件里到底做了什么。(这个文件被根目录下的makefile文件包含)一. main.mk1.检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标。$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core2.包含文件BUILD_SYSTEM/config.mk。根据配置信息和转载 2012-07-31 10:37:51 · 2179 阅读 · 0 评论 -
Vim + Cscope打造Linux下的Source Insight
Source Insight是Windows下最方便浏览代码的工具。但是Source Insight是没有Linux版本的。为了方便在Linux下浏览代码并进行学习,可以利用Vim配合Cscope来打造Linux下的Source Insight。 Cscope是Vim适用的工具和插件,通过Cscope可以方便地获知某个函数的定义以及被哪些函数调用。 Cscope安装 可以在ht转载 2012-07-31 18:36:19 · 371 阅读 · 0 评论 -
在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务
我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。一. 参照在Ub转载 2012-07-31 14:00:42 · 313 阅读 · 0 评论 -
在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务
在数字科技日新月异的今天,软件和硬件的完美结合,造就了智能移动设备的流行。今天大家对iOS和Android系统的趋之若鹜,一定程度上是由于这两个系统上有着丰富多彩的各种应用软件。因此,软件和硬件的关系,在一定程度上可以说,硬件是为软件服务的。硬件工程师研发出一款硬件设备,自然少了软件工程师为其编写驱动程序;而驱动程序的最终目的,是为了使得最上层的应用程序能够使用这些硬件提供的服务来为用户提供软件功转载 2012-07-31 13:57:12 · 288 阅读 · 0 评论 -
在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
在上两篇文章中,我们介绍了如何为Android系统的硬件编写驱动程序,包括如何在Linux内核空间实现内核驱动程序和在用户空间实现硬件抽象层接口。实现这两者的目的是为了向更上一层提供硬件访问接口,即为Android的Application Frameworks层提供硬件服务。我们知道,Android系统的应用程序是用Java语言编写的,而硬件驱动程序是用C语言来实现的,那么,Java接口如何去访问转载 2012-07-31 13:53:15 · 376 阅读 · 0 评论 -
在Ubuntu上为Android增加硬件抽象层(HAL)模块访问Linux内核驱动程序
在Android硬件抽象层(HAL)概要介绍和学习计划一文中,我们简要介绍了在Android系统为为硬件编写驱动程序的方法。简单来说,硬件驱动程序一方面分布在Linux内核中,另一方面分布在用户空间的硬件抽象层中。接着,在Ubuntu上为Android系统编写Linux内核驱动程序一文中举例子说明了如何在Linux内核编写驱动程序。在这一篇文章中,我们将继续介绍Android系统硬件驱动程序的另一转载 2012-07-31 13:48:43 · 324 阅读 · 0 评论 -
如何单独编译Android源代码中的模块
第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system转载 2012-07-31 13:14:31 · 412 阅读 · 0 评论 -
Android系统的开机画面显示过程分析
好几个月都没有更新过博客了,从今天开始,老罗将尝试对Android系统的UI实现作一个系统的分析,也算是落实之前所作出的承诺。提到Android系统的UI,我们最先接触到的便是系统在启动过程中所出现的画面了。Android系统在启动的过程中,最多可以出现三个画面,每一个画面都用来描述一个不同的启动阶段。本文将详细分析这三个开机画面的显示过程,以便可以开启我们对Android系统UI实现的分析之路。转载 2012-07-31 11:41:40 · 1687 阅读 · 1 评论 -
Android编译系统分析大全 终极总结篇
一、概述 自Android开源以来,引起了嵌入式行业一股热潮,很多嵌入式开发者表示对Android有很强的兴趣,并下载Android源码进行编译和移植。Android源码的巨大(repo下来,大概2G)给人以Android相当复杂的错觉。本文从Android编译系统的角度,让大家了解Android其实也是很纯真的。Android编译系统(build system)集中于Android源转载 2012-07-31 10:27:59 · 3555 阅读 · 0 评论 -
制作可独立分发的Android模拟器
如果我们编写了一个Android应用程序,想在一台没有Android SDK或者BUILD环境的机器显示给别人看,应该怎么办呢?通常,我们开发Android应用程序的时候,都是使用模拟器来运行程序,要么是SDK环境下,要么是在源代码BUILD环境下使用。在SDK环境下,结合Eclipse和ADT,使用模拟器很方便,而BUILD环境下,也是很简单地使用emulator命令就可以了,具体可以参考在Ub转载 2012-07-31 14:23:32 · 552 阅读 · 0 评论 -
浅谈Android系统开发中LOG的使用
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录。在Android系统中,提供了简单、便利的LOG机制,开发人员可以方便地使用。在这一篇文章中,我们简单介绍在Android内核空间和用户空间中LOG的使用和查看方法。一. 内核开发时LOG的使用。Android内核是基于Linux Kerne 2.36的,因此,Linux Ke转载 2012-07-31 14:16:30 · 1045 阅读 · 0 评论 -
Android Framework 分析
1.目录树/framework/base/api /framework/base/awt/framework/base/build/framework/base/camera关 于camera的HAL接口库。最终生成native共享库libcamera.so ,编译时根据是否定义USE_CAMERA_STUB来决定系统是否有Camera硬件支持。若没有实际的Ca转载 2012-07-31 11:04:03 · 792 阅读 · 0 评论 -
Android 的 ramdisk.img、system.img、userdata.img 作用说明,以及UBoot 系统启动过程
首先通過編譯,先將android內核編譯成功。正常情況下,在目錄out/target.product/generic/(但是有的就沒有generic文件,如freescale和iriver;但是lonshinetech下面就有這個文件,依據情況而定,只要能找到生成的三個文件就可以。例如:~/freescale/R9.2/out/target/product/imx51_bbg$ )下會生成三個文件转载 2012-07-31 10:45:04 · 4396 阅读 · 0 评论 -
Android Linux 内核介绍
Android Linux 内核介绍 本文将简单的介绍 Android内核的全貌,起到一个抛砖引玉的作用。从下一篇开始将详细介绍每一个Android内核驱动程序及其作用。Android内核是基于Linux 2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分Bug外,它提供了用于支持Android平台的设备驱动,其核心驱动主要包括: Android转载 2012-07-30 16:17:09 · 785 阅读 · 0 评论 -
飞凌ok6410开发板 android 有线配置
启用网络vi init.rc修改setprop net.dns1 192.168.0.1vi linuxrc修改IP地址和网关设置,将两条语句前面的#号去掉。/system/bin/ifconfig eth0 192.168.0.197 netmask 255.255.255.0 up/system/bin/ifconfig eth0 down/system/busyb转载 2012-07-30 09:48:42 · 2300 阅读 · 0 评论 -
在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)
在前一篇文章提到,从源代码树下载下来的最新Android源代码,是不包括内核代码的,也就是Android源代码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核,也就是prebuilt/android-arm/kernel/kernel-qemu文件。那么,如何才能DIY自己的内核呢?这篇文章一一道来。一. 首选,参照前一篇在Ubuntu上下载、编译和安装Android最新源转载 2012-07-31 11:54:35 · 556 阅读 · 0 评论 -
Android硬件抽象层(HAL)概要介绍和学习计划
Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,转载 2012-07-31 13:19:44 · 352 阅读 · 0 评论 -
7种形式的Android Dialog使用举例
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。1.该效果是当按返回按钮时弹出一个提示,来确保转载 2012-09-20 10:58:32 · 478 阅读 · 0 评论 -
Android开发环境搭建全程演示(jdk+eclip+android sdk)
一 相关下载(1) java JDK下载:进入该网页: http://java.sun.com/javase/downloads/index.jsp (或者直接点击下载)如下图:选择 Download JDK 只下载JDK,无需下载jre.(2)eclipse下载 进入该网页: http://www.eclipse.org/downloads/ (或者直接点击下载:BT下载转载 2012-09-18 10:04:29 · 433 阅读 · 0 评论 -
Android平台Native开发与JNI机制详解
个人认为下面这篇转载的文章写的很清晰很不错. 注意Android平台上的JNI机制使用包括Java代码中调用Native模块以及Native代码中调用Java模块. http://www.ophonesdn.com/article/show/263 众所周知,OPhone平台上的应用开发主要基于Java语言,但平台完全支持且提供了一定的Native开发能力(主要是C/C++),使得转载 2012-09-18 11:22:04 · 502 阅读 · 0 评论 -
Windows平台下如何使用Android NDK
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yuchen.blog.51cto.com/2739238/623472 鉴于有些同学想要学习NDK,但在网上很难找到一个讲解比较清楚、按照步骤操作可以比较顺利学会NDK的文章,所以写了此篇教程。一.学习本篇教程需要具备的条件:1. 了解JAVA中转载 2012-09-18 10:02:25 · 376 阅读 · 0 评论 -
Android Native 代码开发学习笔记-转载
NI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁。代码编写者即可以使用 JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码。这样,编程人员可以将低阶的代码逻辑包装到高阶的程序框架 中,获得高性能高效率的同时保证了代码框架的高抽象性。在Android中转载 2012-09-18 11:19:49 · 386 阅读 · 0 评论 -
安卓开发startservice 和bindservice详解
Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy 我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。 1 通过startService Service会经历 onCreate --> onStart stopService的时候直接onDestroy 如果是 调用者 直转载 2012-09-12 16:40:09 · 457 阅读 · 0 评论 -
两分钟彻底让你明白Android Activity生命周期(图文)!
大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下.首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):转载 2012-09-04 11:26:32 · 390 阅读 · 0 评论 -
Android消息提示框和对话框
在某些情况下需要向用户弹出提示消息,如显示错误信息,收到短消息等,Android提供两种弹出消息的方式,消息提示框toasts和对话框alerts。 Toast是一种短暂的消息提示,显示一段时间后不需要用户交互会自动消失,所以用来显示一些建议性的不太重要的消息,如提示用户后台一个任务完成了。使用Toast来弹出提示消息也很简单,调用Toast类的静态方法makeText():转载 2012-09-03 11:10:25 · 667 阅读 · 0 评论 -
五种android 数据存储 最全面的android数据存储介绍。
在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络。 一、SharedPreferences方式 Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等。其以键原创 2012-08-31 14:37:53 · 813 阅读 · 0 评论 -
android eclipse 单步调试
用了一段时间android eclipse工具,查了资料,终于会单步调试了。一、设置断点跟vc一样,双击左侧行,或者左击左侧行,选择BreakPoint。二、运行时候,不能选择Run as,而应该选择Debug as三、到断点了,调试方法(F8)直接执行程序,直到下一个断点处停止。(F5)单步执行程序,遇到方法时进入。(F6)单步执行程序,遇到方法时跳过。(F7原创 2012-08-31 11:12:24 · 586 阅读 · 0 评论 -
Android中的SharedPreferences
对于软件配置参数的保存,如果是windows软件通常我们会采用ini文件进行保存,如果是J2SE应用我们会采用properties属性文件或者xml文件进行保存。如果是Android应用,最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreference转载 2012-08-30 16:00:38 · 389 阅读 · 0 评论 -
Eclipse快捷键 10个最有用的快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母转载 2012-08-17 11:07:31 · 647 阅读 · 0 评论 -
android 开机文字
开机文字("A N D R I O D") Android 系统启动后,init.c中main()调用load_565rle_image()函数读取/initlogo.rle(一张565 rle压缩的位图),如果读取成功,则在/dev/graphics/fb0显示Logo图片;如果读取失败,则将/dev/tty0设为TEXT模式,并打开/dev/tty0,输出文本“A N D R I O D”转载 2012-08-02 09:59:53 · 458 阅读 · 0 评论 -
在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序
在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val。进一步,还通过cat命令来直接访问/proc/hello和/转载 2012-07-31 13:41:55 · 662 阅读 · 0 评论 -
在Ubuntu上为Android系统编写Linux内核驱动程序
在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore。随着Android系统逐步扩大市场占有率,终转载 2012-07-31 13:36:40 · 431 阅读 · 0 评论 -
关于android不能启动的问题 untracked pid exited
1、ok6410nandflash init: untracked pid exited最近发现很多用户在自己编译android系统,启动android过程中出现如下问题*****************start init *****************init: cannot open '/initlogo.rle'init (50): /proc/1/oom_adj i转载 2012-07-26 10:34:21 · 9242 阅读 · 5 评论 -
Android2.3.7源码结构分析
对Andorid系统进行分析或者系统功能定制的时候,我们经常需要在众多文件中花费大量时间定位所需关注的部分。为了减轻这部分枯燥而不可避免的工作,本文对2.3.7版本的源码结构进行了简单分析。希望对刚加入安卓大军的朋友们有所帮助。下图为2.3.7_r1版本的根目录结构:Makefile (makefile文件)bionic (bionic C库转载 2012-07-27 10:57:42 · 653 阅读 · 0 评论 -
Android 破解apk文件
转载请注明出处: http://www.blogjava.net/zh-weir/arch...11/352099.htmlAPK Crack写这篇文章之前,有些犹豫,我会不会因此而打开了一个潘多拉魔盒呢?后来一想,Android类似的恶意软件早已问世,说明这世上已经有不少软件安全专家或者黑客们对此并不陌生了。而我,仅仅是作为一个传道者,将这个少数人知道的秘密告诉大家。于是我心转载 2012-07-27 09:23:00 · 1037 阅读 · 0 评论 -
linux环境下下载android源码
详见官网http://source.android.com/source/downloading.htmlInstalling RepoRepo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see Version Con翻译 2012-07-24 11:52:55 · 1829 阅读 · 0 评论 -
windows环境下,下载android源码
我最近在自学Android,当遇到问题时也只能看看开发文档,或者上网查资料解决,远有直接看源码来得直接。国内倒是有个Android镜像网站,但不提供下载源码的链接;苦于没有下源码的地方,一气之下,上网搜索所有关于下载Android源码的方法和资料,看得朦朦胧胧的,不过还是终得正果。下面总结下载Android源码的整体过程(其实非常Easy!): 一、前期准备 1.下载Msysgit工具转载 2012-07-24 11:51:54 · 431 阅读 · 0 评论 -
android Forlinux framworks学习资料
对比LedClient和forlinxLedTest的区别a. forlinx_led.jar库文件处于框架层,且更新了framework.jar系统库,在里面增加了Led的API调用,应用层的LedSystemServer.apk和Forlinx LED Test .apk会调用框架层framework.jar和forlinx_led.jar提供的接口.framework.jar 库原创 2012-08-08 11:34:48 · 641 阅读 · 0 评论 -
android 开机画面定制 bootanimation
Android 1.5版本:Android的系统登录动画类似于Windows系统的滚动条,是由前景和背景两张PNG图片组成,这两张图片存在于手机或模拟器 /system/framework/framework-res.apk文件当中,对应原文件位于/frameworks/base/core/res /assets/images/。前景图片(android-logo-mask.png)上的Andro转载 2012-08-01 10:51:54 · 2404 阅读 · 0 评论