Menu Home

android framework

Android增加Happy Touch触摸屏支持

1、在hid-ids.h中加入vid pid #define USB_VENDOR_ID_HAPPYTOUCH 0x0416 #define USB_DEVICE_ID_HAPPYTOUCH_SCREEN 0x5030 2、在hid-multitouch.c->mt_devices[] 中加入 { .driver_data = MT_CLS_DEFAULT, HID_USB_DEVICE(USB_VENDOR_ID_HAPPYTOUCH, USB_DEVICE_ID_HAPPYTOUCH_SCREEN) } 3、在hid-core.c->hid_have_special_driver[]中加入HID_USB_DEVICE(VID,PID) { HID_USB_DEVICE(USB_VENDOR_ID_HAPPYTOUCH,USB_DEVICE_ID_HAPPYTOUCH_SCREEN)} 4、设置kernel编译变量 $ export ARCH=arm $ export SUBARCH=arm $ export CROSS_COMPILE=arm-eabi- 5、在内核的config文件中,确认驱动中是否添加了hid-multitouch模块 运行make menuconfig后,将HID Multitouch panels选上。 $ make clear $ make mrproper $ make menuconfig Device Drivers —> HID Devices —> […]

mac os下编译android源代码

Mac OS: 10.7.5 在MacOS上编译android源码的前提是你所使用的文件系统必须是 大小写敏感 的。下面的内容旨在说明如何在不破坏原有文件系统的基础上建立一个供编译android使用的文件系统。 检查你现有的文件系统 依次打开 GO —-> Utilities —-> Disk Utility.app查看当前磁盘的格式,如下图: 在左侧栏中选中你希望在上面编译android的那块磁盘,查看右侧栏中的“Format”一项,如果format格式中带有“Case-sensitive”字样,那么恭喜你,你不需要再做任何操作即可开始编译android源码了,否则,继续往下操作。 确定磁盘空间 当然最方便的方法是把整个磁盘都重新格式成大小写敏感的文件系统,然后重新安装系统。但那样做的成本比较高并且很浪费时间。这里要谈的是不破坏原有系统的前提下,创建一块只供编译android的文件系统。首先需要确保你磁盘的剩余空间在30G以上,编译整个android大概会使用掉25G空间(Google官方显示至少25G)。 创建磁盘镜像 打开一个Terminal,输入如下命令: $ hdiutil create -type SPARSE -fs ‘Case-sensitive Journaled HFS+’ -size 60g YOU_FOLDER/android.dmg 这条命令在你所指定的文件夹中(YOU_FOLDER)创建了一个大小写敏感的可以自增长的最大为60GB的镜像。查看你的文件夹出现了新文件android.img.sparseimage。接下来把这个镜像挂载到系统: $ hdiutil attach ./android.dmg.sparseimage -mountpoint /Volumes/android 这条命令把上一步中创建的android.dmg挂载到了/Volumes/android下,以后这里就是我们编译android的地方。如果你希望每次开机的时候系统自动挂载这个镜像,你可以把下面的命令放到你的~/.profile中。 $ hdiutil attach YOU_FOLDER/android.dmg.sparseimage -mountpoint /Volumes/android 接下来就是把down下来的android源码拷贝到/Volumes/android目录下进行编译。

Android下编译OTA升级包

ref : http://blog.csdn.net/llping2011/article/details/9471913 概念介绍 我们知道Android系统一般可以通过本地升级和空中升级两种,一般本地升级包括SD卡升级、U盘升级、串口升级等。而所谓的空中升级就是通过网络将升级包下载升级包到本地,进行升级。 而OTA升级作为Android系统提供的标准软件升级方式,同时支持本地升级如SD卡或U盘 和 空中升级如网络。OTA升级一般分为全包升级和差分升级。 全包升级:编译当前系统得到的软件包,不依赖于当前手机里的软件版本 差分升级:对手机两个软件版本做差分,在第一个版本上打patch得到第二个升级包,所以差分升级只能对第一个版本的机器进行升级 编译方法 在源码根目录下执行: make otapackage 注意:执行这句命令之前需要在根目录下make编译整个源码。 在out/target/product/$(PRODUCT_NAME)/$(BUILD_NAME)-target-files-$(BUILD_NUMBER).zip文件,其中$(PRODUCT_NAME)是编译产品名字,$(BUILD_NAME)是编译的版本名字,$(BUILD_NUMBER)一般是编译的版本号。以我的fsl的Qiyi版本为例。 生成文件目录为:out/target/product/sabresd_6dq/Qiyi-target-files-20130725.zip文件 拷贝到U盘下的upgrade目录下即可(有的是直接拷贝到U盘根目录下,各个代码不一样)。

Nexus 7 Tablet 安装多系统

ref:http://www.linuxjournal.com/content/multi-booting-nexus-7-tablet Multi-Booting the Nexus 7 Tablet Jul 29, 2013  By Bill Childers Anyone who knows me well enough knows I love mobile devices. Phones, tablets and other shiny glowing gadgets are almost an addiction for me. I’ve talked about my addiction in other articles and columns, and Kyle Rankin even made […]

android 触摸和鼠标模式切换

Android os : > 4.0 android 4.0以后,触摸屏的触摸模式和鼠标模式使用idc文件来做切换。 需要把触摸屏设备的相应idc文件放到 /system/usr/idc/ 目录下。 如下是IRTOUCH Vendor_6615_Product_0085.idc文件的内容: # Copyright (C) 2012 Beijing IRTOUCH SYSTEMS Co.,Ltd # # # Input Device Configuration File for the IRTOUCH touch screen. # #common device.internal = 1 # Basic Parameters touch.deviceType = touchScreen touch.orientationAware = 1 # Size touch.size.calibration = […]

Ubuntu 12.04编译 android 4.0源码

ref:http://blog.sina.com.cn/s/blog_641bd2500100ype3.html 本来计划晚上研究Ice的In-out的用法,直接从demo中找示例,顺便看看其与CORBA在这方面的区别。但在使用slice2cpp时才发现系统升级到11.10后,居然把ice3.3给删除了。于是象上次一样,重新apt-get install zeroc-ice34,下载了80多M的内容,但装好以后无法使用,明明看到动态库在/usr/lib下,就是链接不上,原因也没找到,会不会ubuntu有bug,把32位的库装上了?但如何看一个库是64位还是32位我还不清楚。不管了,还是从源码安装吧。下了第三方的源和Ice的源,刚开始装第一项qt,就进行不下去了。其实我电脑里装有qt creator,比其版本高。于是直接编译源码,碰到第三方库则用apt安装。 第一个问题

android 自动设置mtu

android 自动设置mtu os : android 4.0.4 kernel : 3.0.8 重新挂载system目录为可读: mount -o remount,rw /system 在/system/etc/ip-up 文件中加入下面这行(NAME是你需要设置mtu的设备,如eth0, ppp0等): /system/bin/ifconfig $NAME mtu 1400 注:如果你使用了busybox,需要使用下面的命令: busybox ifconfig $NAME mtu 1400

移植tslib到Android

移植tslib到Android 环境变量 export env export TSLIB_TSEVENTTYPE=INPUT export TSLIB_TSDEVICE=/dev/input/event4 export TSLIB_CALIBFILE=/system/etc/pointercal export TSLIB_CONFFILE=/system/etc/ts.conf export TSLIB_PLUGINDIR=/system/lib/ts/plugs export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_CONSOLEDEVICE=none export TSTS_INFO_FILE=/sys/devices/virtual/input/input1/uevent export QWS_MOUSE_PROTO=tslib:/dev/input/event4 交叉编译过程中的问题 arm-eabi/bin/ld: crt0.o: No such file: No such file or directory 解决:configure加 CFLAGS=”-nostdlib” 我的Android.mk ,测试通过 LOCAL_PATH:=$(call my-dir) include $(CLEAR_VARS) TSLIB_PLUGINDIR:=/system/lib/ts/plugins LOCAL_SRC_FILES:=\ src/ts_attach.c\ src/ts_close.c \ src/ts_config.c \ src/ts_error.c \ […]