- 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了。