在Linux上使用adb访问魅族M9手机

在windows上通过adb访问M9很简单,WinXP用户到魅族 M9 产品支持 下载USB驱动,安装后就可以通过adb访问M9了。似乎Win 7能直接识别M9,不需要手动安装驱动。

要在Linux上访问魅族M9手机,并不需要安装驱动,不过需要设置一下udev。以root身份增加一个文件/etc/udev/rules.d/51-android.rules,内容如下:

SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="18d1", MODE="0666" 

这个文件需要对所有用户可读,执行一下下面的命令:

chmod a+r /etc/udev/rules.d/51-android.rules

然后就可以通过USB线把M9手机连接到Linux,通过adb可以检测到M9:

$ platform-tools> ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
M9W1B00AKAP5NU1064	device

这种方法在Ubuntu 10.04及Centos 5.3上都可以正常工作,不过似乎是第一句在Ubuntu中生效,第二句在CentOS中生效。我比较奇怪的一点是,18d1是Google公司的USB vendor ID,为什么魅族不用自己的vendor ID呢?

更多文章,请访问易水博客

[ 参考文档 ]

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/connect-meizu-m9-to-linux/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的网摘(2010-11-18)

本文是Easwy的网摘(2010-11-18),根据Delicious中的收藏自动生成:

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/bookmark-of-delicious-2010-11-18/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2011-01-23)

  • [m9] 拿到m9了。总体感觉不错,不过软件的使用感受要比iphone差。似乎没有充分利用触摸屏的优势,很多操作还需要按屏幕下方的菜单键,其实可以做的更简单易用的。 #
  • [生活] m9还没到手。同事比我早预定两天,已经拿到了。他玩了两天后告诉我,"m9没买错,网上说的问题都没出。" 好吧,继续等m9! #
  • 貌似配置的有问题,同步失败….debuging #
  • 设置了#tw2other程序同步twitter到新浪围脖,发一条tweet测试一下 :) #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy-twitter-2011-01-23/

文章的脚注信息由WordPress的wp-posturl插件自动生成

Easwy的Twitter微博(2011-01-02)

  • [生活] 魅9卖的真是火爆,早上收到魅族专卖店的信息,说第一批货已经售謦 :-( 好消息是如果第一批客户在1月5日后取货的话,可以加送一块原装电池 ^_^ #
  • [生活] 收到魅族专卖站发来的短信,说魅9于一月一日正式发布…..希望魅9能不负众望! #
  • [Linux] 这篇文章介绍了Debian/Ubuntu中update-alternatives的用法:http://hi.baidu.com/yulanding/blog/item/71ccaa3d67fc71ce7d1e71d8.html #
  • [网络]太好了,xMarks不会关闭服务了,之前还在考虑到底换用哪种书签同步服务呢 #
  • [生活] 周末看了“让子弹飞”,找到一篇好影评 http://movie.douban.com/review/4534425/ #
  • 刚才看到一个图形化的编程语言:KODU,专门用于游戏开发,似乎是微软开发的 http://fuse.microsoft.com/project/kodu.aspx 现在编程语言的发展正在逐渐降低开发门槛、提高编程效率 #

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/easwy-twitter-tweets-2011-01-02/

文章的脚注信息由WordPress的wp-posturl插件自动生成

在Ubuntu上编译Android Gingerbread 2.3.1

前几天下载了Android 2.3.1的源代码并在Ubuntu 10.04(32位)上编译通过。这篇文章简要记录了下载、编译的过程。

关于搭建Android开发环境的文章已经有很多,本文只简要介绍一下,做为备忘。

[ 编译前的准备 ]

这一步安装获取源代码以及编译所需要的软件,使用如下命令:

 $ sudo aptitude install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev 

另外,参考别人编译Android 2.3的经验,安装了下列软件包:

$ sudo apt-get install lib64z1-dev libc6-dev-amd64 g++-multilib lib64stdc++6 

虽然Android官方网站上讲不支持Java 6,不过我使用Java 6也可以编译通过,所以在这里Easwy安装的是Java 6。首先去掉/etc/apt/sources.list中这两行的注释,使能Java 6源:

deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner 

然后安装Java 6 JDK:

$ sudo aptitude install sun-java6-jdk 

接下来下载repo工具,这是Google提供的一个Python脚本,方便管理多个Git版本库:

$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo 

记得把repo加到你的路径中,方便以后使用。编辑~/.bashrc,加入下面一行:

PATH=$PATH:~/bin
export PATH 

然后用命令. ~/.bashrc,以后就可以直接使用repo命令了。

接下来获取Android 2.3.1的源代码:

$ mkdir mydroid
$ cd mydroid 
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.1_r1
$ repo sync 

[ 编译Android ]

接下来开始编译:

$ make -j`grep '^processor' /proc/cpuinfo | wc -l` 

上面的命令中,-j参数告诉make启动多个并行任务进行编译,在支持多核的CPU上能加快编译速度。如果你知道你CPU是几核的,可以直接把这部分替换成-j2(双核)。

我在编译的过程中遇到下面的错误:

************************************************************

You are attempting to build on a 32-bit system.

Only 64-bit build environments are supported beyond froyo/2.2.

************************************************************

这是因为在Makefile中检测了CPU的字长。我直接把build/core/main.mk中下面的话注释掉:

#ifneq (64,$(findstring 64,$(build_arch)))
#$(warning ************************************************************)
#$(warning You are attempting to build on a 32-bit system.)
#$(warning Only 64-bit build environments are supported beyond froyo/2.2.)
#$(warning ************************************************************)
#$(error stop)
#endif 

接下来又遇到下面的错误:

Docs droiddoc: out/target/common/docs/api-stubs

Could not load ‘clearsilver-jni’

java.library.path = out/host/linux-x86/lib

make: *** [out/target/common/docs/api-stubs-timestamp] Error 45

make: *** Waiting for unfinished jobs….

Could not load ‘clearsilver-jni’

java.library.path = out/host/linux-x86/lib

make: *** [out/target/common/docs/doc-comment-check-timestamp] Error 45

这是由于clearsilver在编译时如果检测到使用Java JDK 6,就使用64位编译。要避开此错误,需要修改下面四个文件:

  • external/clearsilver/cgi/Android.mk
  • external/clearsilver/java-jni/Android.mk
  • external/clearsilver/util/Android.mk
  • external/clearsilver/cs/Android.mk

把这四个Makefile中的下列语句注掉即可:

# This forces a 64-bit build for Java6
# Comment by Easwy
# LOCAL_CFLAGS += -m64
# LOCAL_LDFLAGS += -m64 

然后在external/clearsilver目录中执行一下make clean,然后回到项目根目录,继续make即可。

当编译完成时,生成的image文件放在out/target/product/generic目录中。

更多内容,请阅读易水博客上的其它文章。

[ 参考文档 ]

原创文章,请阅读页脚的许可方式,转载请注明:转载自易水博客 [ http://easwy.com/blog/ ]

本文链接地址: http://easwy.com/blog/archives/compile-android-gingerbread-2-3-1/

文章的脚注信息由WordPress的wp-posturl插件自动生成