firefox os : some useful debug metholds

  • TS 1.0 底层 + Cast1.0 (TS版)
  • TS 1.0 底层 + Cast2.0(美国发布版)
  • Fling1 底层 + Cast2.0(未来)

Fling One的外网资料:

https: //github.com/flingone/B2G-FlingOne/wiki

这个基本就是标准的firefox OS开发流程,开发过程中所有的代码都是从公网下载的。

第一次下载可能会比较费时间。所以我把大部分下载的内容定期存放在内网,方便大家下载代码。

具体命令如下

### 内部开发者 ########################
git clone appler:flingone/B2G-FlingOne && cd B2G-FlingOne
GITREPO= 'appler:flingone/b2g-manifest' BRANCH= 'infthink/flingone-b2g2.0' REPO_INIT_FLAGS= '--repo-url=appler:tools/repo.git' ./config.sh -d rk30sdk
### 外部开发者 ########################
git clone git: //github.com/flingone/B2G-FlingOne.git && cd B2g-Flingone
./config.sh rk30sdk
### build过程中会下载xulrunner,见其他( 1 )###
./build.sh && ./flash.sh

其他:

(1) 为了节省下载xulrunner时间,可以用本地的xulrunner

scp samba @10 .0. 0.201 : public /FlingOne/xulrunner- 30 .0a1.en-US.linux-x86_64.sdk.tar.bz2 ./gaia/

一些技巧:

单独编译、烧写gecko

./build.sh gecko
./flash.sh gecko

从6月25号开始支持用fastboot烧写

## 进入fastboot模式
adb reboot fastboot
 
## unlock只需执行一次 ##
fastboot -i 0x930 oem unlock
fastboot -i 0x930 oem unlock_accept
adb reboot fastboot
## 开始烧写
fastboot -i 0x930 flash boot rockdev/Image/boot.img
fastboot -i 0x930 flash kernel rockdev/Image/kernel.img
fastboot -i 0x930 flash misc rockdev/Image/misc_wipe_all.img
fastboot -i 0x930 flash recovery rockdev/Image/recovery.img
fastboot -i 0x930 flash system rockdev/Image/system.img
fastboot -i 0x930 reboot

fastboot找不到设备的,需要在/etc/udev/rules.d/51-android.rules中加入如下内容(文件如果没有就创建一个)

SUBSYSTEM== "usb" , ATTR{idVendor}== "0930" , MODE= "0666" , GROUP= "plugdev"

使用gdb调试b2g,这对于跟踪b2g crash问题、或者了解C/C++代码上下文,非常有用:

./run-gdb.sh              ## 这样是重新启动一个b2g,并用gdb调试
 
 
./run-gdb.sh attach $pid  ## 这样是attach到一个现有的b2g或者plugin-container,其中pid要从板子上用b2g-ps获得
 
4 .4kk update:
4.4 上用gdb启动b2g(上面第一种方式)会导致fd泄漏,从而引发b2g进程crash。
解决的办法参见https: //bugzilla.mozilla.org/show_bug.cgi?id=1051633
具体是启动进程后先在main()设置断点,
等跑到main()时,在gdb里调用“call close( 3 )”或“call close( 4 )”,
具体是 3 还是 4 到proc里去找gdbserver和b2g共有的那个socket fd,
然后再cont就可以调试了。
 
4 .4kk update:
run-gdb.sh: LD_PRELOAD=\"$ld_preload_extra /system/b2g/libmozglue.so\" ==> LD_PRELOAD=/system/b2g/libmozglue.so

关于外接鼠标

刚烧完机,设备上的usb默认是slave模式,这时可以用普通usb线连接、调试。

如果希望用鼠标,可以切换设备上的usb为host模式:

adb root
adb shell 'echo 1 >/data/otg.cfg'
adb shell sync

然后拔掉普通usb线、换上otg线,就可以用鼠标了。

用鼠标配置wifi连接到网络后,可以用网络adb继续调试。

用鼠标进入settings ==> Wi-Fi ==> 点击对应AP看到ip地址,然后

adb connect 10.0 . 0 .XXX
adb devices

各种欢快的调试。。。

如果又不想用鼠标了,比如想用fastboot烧机,一定要切换回普通usb slave模式

adb root
adb shell 'echo 2 >/data/otg.cfg'
adb shell sync

然后拔掉otg线、换上普通线,就可以用usb adb了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值