1.预安装软件:
将eclipse下的工程文件夹FactoryTest复制到
android\platform\packages\apps\
在FactoryTest目录下创建一个名为 Android.mk的文件,内容如下:
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_PACKAGE_NAME := FactoryTest include $(BUILD_PACKAGE)
添加
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
让app可以被卸载
打开文件
android\platform\device\mediatek\mt8658sdk\device.mk
将 FactoryTest 添加到 PRODUCT_PACKAGES 里面
重新 build 整个工程
目录下,然后编译android源码再烧录就可以完成
当然,在该下删除apk也可以实现去掉预装软件,这应该就是很多精简rom包实现的原理
2.编译android源码
进入android源码根目录下
rm $OUT/system $OUT/data $OUT/obj/APPS -rf
source build/envsetup.sh
make p_w_picpath
3.烧录
将编译得到的out/mt8658sdk/bin/mt8658_bl_linux.bin拷贝至U盘根目录下的 UPG文件夹下
连接串口,重启机器,进入命令行
输入upg开始烧录
烧录完成后手动重启,或者输入reset重启
4.模拟器访问本地服务器
模拟器访问本地服务器时,不是127.0.0.1也不是localhost
网上很多文章说10.0.2.2 是模拟器设置的特定ip,类似于本地的127.0.0.1
我试过在模拟器播放我本地apache服务器,本地访问127.0.0.1完全没问题,但是在模拟器上不能访问127.0.0.1和10.0.2.2,然后网上有篇文章说是机器的ip,我按照方法没有获取到ip,但是我尝试用本地主机的局域网ip试试,结果就可以了
5.adb命令
这才发现adb命令的强大,这里只是记录一下这几天用到的几个
adb devices 查看当前已连接的android设备
adb connect 10.19.255.102:5555 连接android设备,ip是设备的ip,端口号为默认的5555
adb disconnect 10.19.255.102:5555
adb shell 进入adb命令行
am start -n com.android.settings/com.android.settings.Settings 进入android系统设置
am start -a android.intent.action.VIEW -d http://10.19.255.59/ 用浏览器打开制定网页
adb install <-r> D:\\FactoryTest.apk 强制安装apk
adb shell rm /data/app/<*.apk>
adb push 文件路径 手机中的路径 拷贝文件到android设备中
adb pull 手机中文件名 电脑路径 拷贝文件到电脑中
am start -a android.intent.action.CALL -d tel:10086 拨打电话
am start -a android.intent.action.VIEW geo:0,0?q=beijing 启动google map直接定位到北京
转载于:https://blog.51cto.com/huamm/1546508