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直接定位到北京