前言:目前市面上OTT网络机顶盒几乎全部使用Android系统,公司目前是多个人使用一个编译服务器,编译一次Android系统花费时间较长,调试Android某一部分功能时候就不得不编译整个Android系统来调试,严重降低了工作开发效率,巧合之下看到公司大牛写的Android调试方法,放与网络与大家参考学习。
公司网络机顶盒(OTT)盒子使用Amlogic提供的芯片,下面就以amlogic Android系统为例。
#! /bin/bash
export PATH="/opt/amlogic/raspbian-toolchain-gcc-4.7.2-linux32/bin":$PATH
export PATH="/opt/amlogic/arm-2010q1/bin:/home/linyinghui/arm-2009q1/bin":$PATH
export PATH="/opt/amlogic/gnutools/arc2.3-p0/elf32-4.2.1/bin":$PATH
export PATH="/opt/amlogic/arc-4.8-amlogic-20130904-r2/bin":$PATH
make distclean
make m8b_m201_512M_config
make
getprop("ro.product.device") == "m201" || abort("This package is for \"m201\" devices; this is a \"" + getprop("ro.product.device") + "\".");
show_progress(0.800000, 80);
set_bootloader_env("upgrade_step", "3");
show_progress(0.100000, 10);
write_raw_image(package_extract_file("bootloader.img"), "bootloader");
set_bootloader_env("upgrade_step", "1");
show_progress(0.100000, 0);
java -Xmx8192m -Xms1024m -jar signapk.jar -w $OTA_KEY.x509.pem $OTA_KEY.pk8 ${TMP_ZIP_PACKAGE} ${SIGN_ZIP_PACKAGE}
a. 编译
#cd kitkat
#source build/envsetup.sh
#lunch m201-user
#cd bootable/recovery
#mm
编译出来的recovery:out/target/product/m201/system/bin/recovery
b. 通过U盘调试
进入recovery后输入下面的命令运行新的recovery
#busybox umount /udisk ;busybox mount -t vfat /dev/block/sda1 /udisk
#busybox cp /udisk/recovery /sbin/recovery;
#busybox sync;
#busybox killall -9 recovery
执行完上面3个命令后recovery会重启,重启后运行的就是新的recovery
由于recovery使用的是内存文件系统,断电重启后recovery还是flash里面的。
a.编译
#cd kitkat
#source build/envsetup.sh
#lunch m201_user
#make framework
b. adb push
c. 重启
a. 编译
#cd kitkat
#source build/envsetup.sh
#lunch m201_user
#make services
b. adb push
c. 重启
原文地址:http://blog.csdn.net/u012733519/article/details/45156281