![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ardroid
文章平均质量分 68
yanzheng1113
这个作者很懒,什么都没留下…
展开
-
Android.mk的用法和基础
一个Android.mk file用来向编译系统描述你的源代码。具体来说:该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。你可以在每一个Android.mk file中定义一个或多个模块,你也可以在几个模块中使用同一个源代码文件。选项参考以下文件:build/core/config.mk,默认的值在以下文件中定义:build/core/base_rules.mk。编译系统为转载 2013-11-12 16:04:13 · 270 阅读 · 0 评论 -
Android平台开发-3G function porting-3G功能移植
一、pppd相关文件Android ril相关的代码和脚本主要有:android/hardware/ril/reference_ril/ (reference_ril.c)android/hardware/ril/rildandroid/extern/ppp/pppdandroid/extern/ppp/chatandroid/data/etc/apn-conf-sdk转载 2012-11-27 15:15:28 · 361 阅读 · 0 评论 -
如何使用arm-linux-androideabi-addr2line
1.将ndk中的arm-linux-androideabi-addr2line可执行文件的路径加入配置文件~/.bashrc中,例如:export PATH=$PATH:~/dlna/android-ndk-r6b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin2.使配置生效:source ~/.bashr原创 2012-11-05 11:08:27 · 6012 阅读 · 2 评论 -
Android之传感器系统(Gsensor) .
最近在解关于Gsensor的Bug,Bug还没解掉,反而把Android的Gsensor流程走了一遍。好久不写博客了,不能偷懒啊,学了东西还是得总结一下,好让后来人不要费多少工夫,同时抛砖引玉,大家一起讨论一下,有什么错误我好纠正一下,对自己也是一种激励。言归正传,本文主要从上层的Activity一直分析到kernel的driver,路比较长,不过我喜欢搞清楚架构。目录:一、应用层的API转载 2012-10-15 18:59:23 · 1121 阅读 · 2 评论 -
android源代码下载时的git/repo代理设置 .
这篇文章的背景,是我在ubuntu下配置android环境以及获取android源代码时所遇到的问题,关于怎样在ubuntu/linux下android环境我在此就不多少了,可以参考android的官方网站,这里给出链接http://source.android.com/source/download.html。下面主要说一下关于在公司内网不能下载源代码的解决办法。 关于怎样设置git代理原创 2012-10-15 17:09:36 · 349 阅读 · 0 评论 -
uuid错误解决
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/mkfs.ubifs] Error 1找不知道UUID 那个问题,你可以装一个 32位的uuid apt-get install uuid:i386, 然后再做个软连接: sudo ln -sf /lib/i386-linux-gnu/libuuid原创 2012-09-18 10:31:05 · 883 阅读 · 0 评论 -
android4.0编译错误集(一)
1、Android library 'XXX.so' not in prelink map 错误解决在编译自己的Android library时可能会出现library 'XXX.so' not in prelink map 错误,这是由于Android的预编译设置引起的,/build/core/prelink-linux-arm.map文件描述了预编译的模块需要修改所在文件夹转载 2012-09-18 10:10:45 · 733 阅读 · 0 评论 -
Android开发错误汇总 .
大家都在为项目开发成功而喜悦,但可不知成功的路上是会经常出错的,下面是我碰到的一些错误集合!【错误信息】[2011-01-19 16:39:10 - ApiDemos] WARNING: Application does not specify an API level requirement![2011-01-19 16:39:10 - ApiDemos] Device API转载 2012-09-05 11:09:18 · 948 阅读 · 0 评论 -
Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析
前面在介绍Android系统的开机画面时提到,Android设备的显示屏被抽象为一个帧缓冲区,而Android系统中的SurfaceFlinger服务就是通过向这个帧缓冲区写入内容来绘制应用程序的用户界面的。Android系统在硬件抽象层中提供了一个Gralloc模块,封装了对帧缓冲区的所有访问操作。本文将详细分析Gralloc模块的实现,为后续分析SurfaceFlinger服务的实现打下基础。转载 2012-07-25 14:10:17 · 1187 阅读 · 0 评论 -
android几个学习点
动态更改tab indicator如果是想修改某个tab里文字的话,可以View view = tabWidget.getChildAt(index),然后用TextView tv = view.getChildAt(0);tv.setText("xxxxxx");一个Tabhost包含一个TabWidget和一个FrameLayoutTabWidget包含多个tabInd原创 2012-07-22 22:08:37 · 694 阅读 · 0 评论 -
T9输入法
T9输入法,名字听起来陌生,可是大家却经常使用它。可以说T9输入法是输入法历史中的一次革命。至少自T9输入法开始,输入法有长足的进步。如图手机中九个数字键。26个英文字母被分配到2至9这8个数字键上。以前想输入英文单词的时候总是需要连续多次按某个键,才能得到目标字母。比如想输入“hello”,就需要按两次4,两次3,三次5,三次5,三次6.输入一个单词需要数十次的按键,更何况还有经常按错的情况转载 2012-05-23 10:40:57 · 924 阅读 · 1 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作
Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recover转载 2012-05-23 14:33:25 · 1638 阅读 · 0 评论 -
Android getevent/senevent
getevent&sendevent 是android系统下的一个工具,可以模拟多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。 === getevent === getevent 监控当前的事件,鼠标事件,按键事件,拖动滑动等 dd device 1: /dev/input/event0 name转载 2012-04-13 09:05:13 · 308 阅读 · 0 评论 -
Android中的数据存储
作为一个完成的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。 SQLite: SQL转载 2012-04-11 16:29:32 · 227 阅读 · 0 评论 -
Android MID 3G 移植
市面上大多数MID使用的3G模块一般都是使用中兴、华为的,在项目中本人调试过中兴的MU301 TD模块、华为的EM770w WCDMA模块。本文基于华为的EM770w WCDMA模块进行讲述。Android的3g部分移植主要难点在于RIL层,如果自己独立开发RIL需要对android的RIL、AT指令、通信流程等非常熟悉,所以难度非常的大,请参考RIL源码。现在买回转载 2012-11-27 15:59:15 · 409 阅读 · 0 评论 -
Android or Linux的休眠与唤醒
Linux休眠/唤醒简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状态来延长电池的续航时间。这篇文章就详细介绍一下Linux中休眠/唤醒是如何工作的,还有Android中如何把这部分和Linux的机制联系起来的.在Linux中,休眠主要分三个主要的步骤:1)冻结用户态进程和内核态任务2)调用注册的设备的suspend的回调函数,顺序是按照注册顺序转载 2012-11-27 11:38:24 · 392 阅读 · 0 评论 -
Android 4.0 Launcher源码分析系列(一)
//http://mobile.51cto.com/hot-312129.htm从今天起傻蛋打算做一个系列文章,对最新的Android 4.0 系统中的Launcher,也就是Android 4.0原生的桌面程序,进行一个深入浅出的分析,从而引领Android系统的编程爱好者对 Launcher的设计思想,实现方式来做一个研究,从而能够通过这个实例最掌握到目前世界领先的设计方法,同时在程序转载 2013-11-12 12:00:24 · 344 阅读 · 1 评论 -
一个测试LCD的activity
在生产安卓设备有时需要用到产生一个纯颜色变换的画面,来测试LCD是否有坏点。一个简单的实例如下,要用到SurfaceView,SurfaceHolder,canvas等图层处理:(1)要import的文件[java] view plaincopyprint?import android.os.Bundle; import android.os.Handler;转载 2013-11-12 11:09:04 · 280 阅读 · 0 评论 -
adb通过TCP/IP来调试Android设备
对Android比较熟悉的开发人员,对adb通过USB(USB连接Android设备)调试Android设备应该不会陌生,因为大部分资料都是这样做的。但是假如你的Android设备没有USB口,只有网口,能不能调试呢?(比如移植过程中通过NFS启动的Android系统,再比如你的设备上面USB设备匮乏。)答案是肯定的。本文我将以我最近的经验,介绍一下adb怎样通过tcp/ip来调试Android设转载 2013-11-22 15:28:58 · 362 阅读 · 0 评论 -
Android自动测试之Monkey工具
Monkey工具前言:最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。 一、 什么是MonkeyMonkey是Android中的一个命令行工具,可以运转载 2013-11-22 15:24:23 · 299 阅读 · 0 评论 -
【平台开发】-Android使用MD5加密算法加密密码
很多的Android软件都需要用户登录登录功能,在开发的时候像这些密码都是保存在SharedPreferences中,这些密码保存在/data/data/包名/shared_prefs下,保存在一个XML文件中,如下:可以用FileBrower查看开始说道正题,Android MD5加密算法虽然现在有些人已经将其解开了,但是它的加密机制依然很强大,我想绝大对数还是不会解开的。MD5加密转载 2013-01-11 17:05:57 · 408 阅读 · 0 评论 -
android之wifi移植全过程(一)
android之wifi移植全过程 硬件环境 WIFI模块:Marvell8686 SDIO WIFI 开发板:S5PC100转载 2013-01-05 17:29:58 · 545 阅读 · 0 评论 -
android之wifi移植全过程(二)
android之wifi移植全过程(二) 六、android的wifi移植。 现在底层的都通了,接下来就把wifi移植到android系统中。 1.提供固件firmware给驱动。 WIFI需要的firmware要复制到/etc/firmware。 或者复制到WIFI驱动指定的位置,然后WIFI驱动会自动加载。 在此转载 2013-01-05 17:31:04 · 403 阅读 · 0 评论 -
Android开机广播和关机广播
有些时候我们需要我们的程序在系统开机后能自动运行,这个时候我们可以使用Android中的广播机制,编写一个继承BroadcastReceiver的类,接受系统启动关闭广播。代码如下:[java] view plaincopyprint?/** *@author coolszy *@date 2011-6-14 *@blog http://blog.csdn.net/coolszy */转载 2012-12-13 14:52:08 · 251 阅读 · 0 评论 -
Android APK反编译详解(附图)(转)
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将ap转载 2012-11-21 15:12:06 · 282 阅读 · 0 评论 -
android客户定制SDK常见修改
编译 SDK:SDK:1,输入. build/envsetup.sh;注意点后有空格2,输入 lunch显示You're building on LinuxLunch menu... pick a combo:1. generic-eng2. simulator3. MID-userdebug4. full_vortex-userdebugWhich w原创 2012-11-21 15:01:19 · 669 阅读 · 1 评论 -
android4.0上状态栏上加入虚拟按键
1.在状态栏的xml下加入类似的布局 具体实现在com.android.systemui.statusbar.policy.KeyButtonView2.加入图片3.在竖屏的时候默认隐藏,横屏的时候出现--- a/frameworks/base/packages/SystemUI/res/layout-sw600dp/status_bar.xml+++ b/frameworks/b转载 2012-11-16 11:28:09 · 1051 阅读 · 0 评论 -
Android之四种加载方式
(http://marshal.easymorse.com/archives/2950 图片)在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置转载 2012-11-29 10:14:06 · 234 阅读 · 0 评论 -
Android2.1下调试3G模块(三)
现在开始介绍如何实现ppp拨号上网。在/system/etc下创建ppp目录,并在ppp目录下创建以下文件: 1.init.gprs-pppd#!/system/bin/sh# An unforunate wrapper scriptPPPD_PID=/system/bin/setprop"net.gprs.ppp-exit" ""/system/b转载 2012-04-10 18:16:25 · 576 阅读 · 0 评论 -
Android2.1下调试3G模块(二)
前面讲到了如何让修改kernel驱动和ril层代码,接下来还需要增加ppp拨号以及设备文件和服务属性。1.修改init.gprs-pppd属性对应文件:system/core/include/private/android_filesystem_config.h在static struct fs_path_config android_files[]中增加:+ { 00777,转载 2012-04-10 18:15:32 · 524 阅读 · 0 评论 -
Android2.1下调试3G模块(一)
曾几何时在Android2.1下调试3G模块,曾几何时模块厂商提供的库不能用,曾几何时只能用自己的库痛苦地调试...这一切的一切都已成往事,昔日的成功在毫无保留下成为浮云,该忘了忘记了,该记得也跟着忘记了。现如今再次调3G模块,却不知道以前如何调试,看来还是要记下来。我采用的是华为EM770W模块,支持WCDMA网络,由于华为提供的库只支持Android2.2,所以用Android2.1就需要转载 2012-04-10 18:14:43 · 433 阅读 · 0 评论 -
关于软键盘输入内容删除问题的研究
首先我们来描叙下我们出现的问题:当我们用软键盘在一个对话框里输入字母后,然后我们想切换下输入方法(例如切换到输入数字),我们就会发现我们开始输入的字母内容不见了,当我们再切换回来输入数字时候我们又会发现我们刚才输入的数字不见,同时又出现了刚才被删除的字母。 首先我们找到软键盘的处理函数并理解分析:public void onKey(int primaryCode, int[] keyCo原创 2011-12-28 11:29:13 · 683 阅读 · 0 评论 -
android怎么修改显示的logo
1.最开始显示的那个小logo代码文件: system/core/init/init.cif( load_565rle_image(INIT_IMAGE_FILE) ) { fd = open("/dev/tty0", O_WRONLY); if (fd >= 0) { const char *msg;原创 2011-12-14 15:14:41 · 1933 阅读 · 0 评论 -
android开发经验和开发环境注意事项
一. 开发环境注意事项 用elipse开发的时候,开始只要用eclipse导入就会编译不过,提示class R 重定义了,原因是因为elipse导入android工程后会自动生成R.java,所以只要删除gen文件夹就可以了,如:gingerbread\packages\apps\InternetTv\下的gen文件夹 二. Google w原创 2011-12-14 15:16:45 · 1638 阅读 · 0 评论 -
Android开发-菜单与对话框
Android开发06—菜单与对话框(下) 1. 进度对话框 ProgressDialog可以显示进度轮和进度条,由于ProgressDialog继承自AlertDialog,所以在进度对话框中也可以添加按钮。 实例说明进度对话框的用法: Java代码 package qijia.si; import android.app.Activity;转载 2011-12-19 10:50:26 · 2787 阅读 · 0 评论 -
android启动init流程分析
Linux kernel起来后运行的第一个应用程序就是init,Init属于linux下一个应用程序,其源码在 system/core/init中,main是应用程序的入口。从main()函数就可以知道init主要功能。main()(1)安装SIGCHLD信号。(如果父进程不等待子进程结束,子进程将成为僵尸进程(zombie)从而占用系统资源。因此需要对SIGCHLD信号做出处理,回收原创 2011-12-19 14:57:43 · 440 阅读 · 0 评论 -
android:添加usb键盘+按键布局和映射的修改
android下的按键布局和映射这个笔记整理一下使用usb键盘遇到的问题,比如添加usb键盘的keylayout,添加按键,修改按键映射等。本文参考了:http://blog.csdn.net/kieven2008/archive/2011/03/26/6279975.aspxhttp://blog.csdn.net/skdev/archive/2010/03/08/535转载 2011-12-17 09:22:11 · 1024 阅读 · 0 评论 -
android如何添加一种新语言
前些时候,因为客户要求加波斯语,但是目前android2.3.1并没有这种语言,在客户要求一定要有波斯语的情况,经过长时间的摸索与在网上求助,终于将波斯语给加出来了。下面讲讲新增加一种语言的步骤:1. 在sdkDemo.mk 中添加语言和国家的国际化的缩写代码,如伊朗:IR表示,波斯语用fa表示,这是国际化的标准,不可以随便写的。如果不知道国家与地区的缩写,可以去网上找找。原创 2011-12-17 09:02:32 · 2844 阅读 · 1 评论 -
Android应用程序键盘(Keyboard)消息处理机制分析
在Android系统中,键盘按键事件是由WindowManagerService服务来管理的,然后再以消息的形式来分发给应用程序处理,不过和普通消息不一样,它是由硬件中断触发的;在上一篇文章《Android应用程序消息处理机制(Looper、Handler)分析》中,我们分析了Android应用程序的消息处理机制,本文将结合这种消息处理机制来详细分析Android应用程序是如何获得键盘按键消息的。转载 2011-12-08 09:42:54 · 710 阅读 · 0 评论 -
android中添加按键的方法
添加一般按键键的方法:qwerty.kl/KeycodeLabels.h/attrs.xml/KeyEvent.java 在以上4 个文件中相应添加按键信息即可实现一个基本的按键到键值的映射device/rockchip/rk29sdk/proprietary/internettv/qwerty.kl:添加硬件扫描码到按键名的映射//扫描码 按键名 附加标识(另见Keycode原创 2011-12-08 09:34:32 · 1038 阅读 · 0 评论