導航:首頁 > 源碼編譯 > 安卓系統運行時用先編譯嗎

安卓系統運行時用先編譯嗎

發布時間:2023-08-03 16:25:53

安卓系統(android)怎樣才能成功編譯安裝『make』命令

tar.gz(bz或bz2等) 一、安裝1、打開一個SHELL,即終端2、用cd 命令進入源代碼壓縮包所在的目錄3、根據壓縮包類型解壓縮文件(*代表壓縮包名稱) tar -zxvf ****.tar.gztar -jxvf ****.tar.bz(或bz2)4、用CD命令進入解壓縮後的目錄5、輸入編譯文件命令:./configure(有的壓縮包已經 編譯過,這一步可以省去) 6、然後是命令:make 7、再是安裝文件命令:make install8、安裝完畢如果安裝了busybox命令就要這樣用: busybox+空格+命令

❷ 運行java程序時,為什麼要先編譯再運行,編譯運行一起進行不行嗎

java講究的是 一次編譯 處處運行,也就是提高了程序的一致性。java的程序之所在不同的操作系統上的運行結果是一樣的,是因為java虛擬機。

所以要運行java都要裝一個叫jdk的東西,裡面有java的虛擬機。這個虛擬機就是來解釋我們寫的代碼。通過這個虛擬機,就實現了代碼的移植。

我們寫好的程序,通過虛擬機,編譯成class文件,然後在運行。但是我們只需要編譯一次即可。

❸ Android工程編譯順序是怎麼樣的先編譯哪個模塊,後編譯哪個模塊由誰來決定的

在ActivityManifest.xml聲明的Activity中,含有
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
是最先執行的,其它類就的順序在這個主函數中先調用或跳轉哪個就是哪個了

❹ 如何編譯android手機源碼

編譯android系統源碼准備工作:
下載android源碼
在windows上用gitbash ,git clone 下載代碼
linux上這樣下載
創建~/bin目錄,用來存放repo程序,如下:

$ cd ~
$ mkdir bin
初始化repo
repo是android對git的一個封裝,簡化了一些git的操作。
創建工程目錄:
$ mkdir android
$ cd android
下載repo腳本並使其可執行:
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
repo初始化:
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在此過程中需要輸入名字和email地址。初始化成功後,會顯示:
repo initialized in /android
在~/android下會有一個.repo的隱藏目錄。
5)同步源代碼
$ repo sync
這一步要很久很久。
安裝linux系統,推薦ubuntu,圖形界面
安裝編譯需要的支持包
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
安裝java6.0
$ sudo apt-get install sun-java6-jdk
配置java環境
sudo gedit ~/.bashrc

末尾加上

JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
sudo source ~/.bashrc
是環境變數生效

編譯android源碼,並得到~/android/out目錄

$ cd ~/andoird
$ make
這一過程很久。
這就編譯結束了

❺ 編譯調試Android系統原生App - 以Settings為例

本文已過時,最新文章:向大家推薦《使用 AS 開發 System App》 https://xiaozhuanlan.com/system-app

Android原生系統帶有許多原生的App,比如 瀏覽器、錄音機、計算器、設置 等,有些時候,我們需要用到一些系統的功能,或者是對已有的功能做二次開發,比如我上學時給一個公司做過一個Launcher和Wizard,就需要用到系統設置中的某些功能,比如Wifi、聲音、顯示等功能,於是就需要從Settings源碼中提取出需要的功能。

特別是公司自己定製Android系統,需要在上面做一些 系統級的App 的時候,原生App已有的功能就可以通過編譯其源碼的方式直接拿過來改改就能用,而且可用度很高。

這里有兩種情況,分為 原生 的和 公司定製 的系統。無論是原生的還是定製的,類似於Settings這樣需要使用到 系統級或隱藏API 的App,都需要系統簽名文件和編譯系統源碼後得到相應的jar包才可以在IDE中編譯,因為標准SDK根本沒有那些API可供調用。

舉個栗子:

需要額外的Jar就需要自己編譯系統源碼啦,這個是比較麻煩的,有興趣可以試試自己編譯定製自己的Android系統。

** 注意,既然是定製的,源碼、jar、簽名文件,還有系統都是一一對應的,你不能拿其他公司的系統簽名來給你公司的系統app簽名,這樣無法運行的。 **

有了源碼,下一步當然是要跑起來啦。

建議都使用Eclipse來編譯,不要使用AS,因為AS編譯大型的原生App能卡到你吐血,而且出錯提示也不友好。但是用過AS的人都不想再碰Eclipse了有沒有??別急,可以先用Eclipse編譯過了,再貼到AS中,這樣好很多,也很節省時間。

初始化:

放入源碼:

修正res錯誤:

修正src錯誤:

使用到系統級API的,或者AndroidManifest.xml文件中聲明了

那麼沒有系統簽名,直接debug簽名運行是不行的,需要向底層工程師要系統的簽名文件,在源碼目錄
build\target\proct\security
下的 platform.pk8 和 platform.x509.pem ,如果你想看此次編譯Settings是否已成功了,可以適當的在入口加一下Log,然後導出未簽名的apk,使用系統簽名進行簽名後,放到 /system/app/ 下替換掉Settings.apk,然後重啟系統,打開設置,看看Logcat是否輸出里加入的Log。

在不知道系統簽名可以轉換成debug簽名前,老實說我一直都是用Log的方式調試,太特么痛苦了。現在知道後整個人都懵逼了。

我們都希望可以像調試普通app那樣調試系統app,以下是如何通過 openssl 將 platform.pk8 和 platform.x509.pem 轉換成 debug.keystore 文件:

三個命令

此方法來自: http://curlog.com/2016/08/30/android-pk2debug-keystore/

Mac自帶openssl,Linux和Win需要安裝。

然後就可以使用得到的debug簽名配置到eclipse後愉快的調試啦,當然,得先把系統中已經存在的app先刪除掉。然後重啟系統,至於如何配置eclipse的debug簽名,請Google。

使用過AS後,當然希望在AS中也可以調試系統App,抽空再寫篇相關編譯和調試的文章。如果這篇文章幫到你了,給個贊唄。

閱讀全文

與安卓系統運行時用先編譯嗎相關的資料

熱點內容
伺服器無影響是怎麼回事 瀏覽:950
比德電子采購平台加密 瀏覽:200
加密貨幣400億 瀏覽:524
植發2次加密 瀏覽:44
vc6查看編譯的錯誤 瀏覽:595
心理大全pdf 瀏覽:1002
區域鏈加密幣怎麼樣 瀏覽:343
查找命令符 瀏覽:95
壓縮工具zar 瀏覽:735
白盤怎麼解壓 瀏覽:474
辰語程序員學習筆記 瀏覽:47
程序員被公司勸退 瀏覽:523
java三子棋 瀏覽:692
加密空間怎麼強制進入 瀏覽:345
ug分割曲線命令 瀏覽:209
學碼思程序員 瀏覽:609
自考雲學習app為什麼登不上 瀏覽:410
domcer伺服器晝夜更替怎麼搞 瀏覽:436
plc和單片機哪個好 瀏覽:535
帝國神話組建雲伺服器 瀏覽:827