一,準備好android1源碼編譯環(huán)境以及手機USB調(diào)試環(huán)境。二,將手機上硬件驅(qū)動程序以及相關的配置文件通過ADB命令保存好。三,針對不同的手機機型,制作相應的vendor配置文件。四,編譯源碼。
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都活動板房小微創(chuàng)業(yè)公司專業(yè)提供企業(yè)網(wǎng)站制作營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內(nèi)容策劃、視覺設計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。
源碼里的工程需要導入所有的Android源碼,不可以單獨作為一個Android工程導入到Eclipse里。
第一步、安裝VMWare 我假設你在Windows下,而Android源代碼在Linux下下載會更方面些。那么我們就裝一個虛擬機來創(chuàng)造一個Linux環(huán)境。
$ adb push SecureSetting.apk /sdcard/ // 上傳要安裝的文件,為安裝做準備。 $ adb shell $ su // 切換到 root 用戶。如果沒有獲得 Root 權(quán)限,這一步不會成功。
第四步 選擇“Android”選項,勾選TargName,然后單擊OK。小提示:TagName要與你當前模擬器的版本匹配,比如筆者的是android 3。
1、但在android源碼中編譯jni代碼是不同的,jni中的函數(shù)名無所謂。不過你至少還需要加一個 jniexport jint jnicall jni_onload(javavm* vm, void* reserved)方法,這個方法你可以找個現(xiàn)有的復制一把就行,檢查運行環(huán)境的。
2、字面理解:JNI表示Java Native Inteface,是Java中定義的一種用于連接Java和C/C++接口的一種實現(xiàn)方式。NDK表示Native Development Kit,是Google在Android開發(fā)中提供的一套用于快速創(chuàng)建native工程的一個工具。
3、NDK可以自動地將so和Java應用一起打包,極大地減輕了開發(fā)人員的打包工作。其實:NDK就是能夠方便快捷開發(fā).so文件的工具。JNI的過程比較復雜,生成.so需要大量操作,而NDK就是簡化了這個過程。
1、命令順序如下:進入Android sdk文件夾/tools目錄下輸入adb shell輸入su輸入cd data輸入cd app這時就可以看到你安裝的所有的apk文件。輸入cp 空格 對應的apk 空格 /sdcard/這樣就將apk文件拷貝出來了。
2、android源碼主要位于兩個文件夾中。src文件夾,存放java代碼。res文件夾存放資源,如res-layout存放布局文件;res-drawable存放圖片文件等。
3、android的源碼首先需要你從Android SDK Manager里面下載,然后在你的sdk中才看得到。
4、首先把反編譯的apk存放到apktools同級文件夾目錄下,如下圖所示。按住shift+鼠標右鍵打開命令窗口,運行代碼 apktool d yd.apk(安裝包的名字)。apk后綴名改成zip,解壓雙擊打開xml格式文件如下圖所示。
5、在src文件夾里邊。res文件夾是布局的。bin里邊是App的安裝包文件夾。
在編譯Android系統(tǒng)時,需要先執(zhí)行2條命令,來設置必要的環(huán)境變量。接下來就可以執(zhí)行make系列命令,來完成不同的需要。make clean 用來清除編譯歷史,開始一個全新的編譯。make -j 或 make -j8 啟動編譯過程。
make 模塊名稱需要查看Android.mk文件的LOCAL_PACKAGE_NAME變量。2.mmm命令用于在源碼根目錄編譯指定模塊,參數(shù)為模塊的相對路徑。只能在第一次編譯后使用。
其實android的makefile是可以把執(zhí)行的詳細命令輸出來的,只要make的時候加上V=1即可。
CLASSPATH;HOME_BIN=~/bin/ export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};sudo source ~/.bashrc 是環(huán)境變量生效 編譯android源碼,并得到~/android/out目錄 cd ~/andoird make 這一過程很久。
Android源碼可以編譯出android SDK、adb等工具、android文件系統(tǒng),以及ADT插件,也就是說,我們可以從android源碼編譯出所有android相關的東西。
本來以為就沒有辦法在應用程序這一層改系統(tǒng)時間了,后來在網(wǎng)上搜了好久,知道這個目的還是可以達到的。