啊。。。android原始碼什麼的。。。k

2021-06-20 21:37:49 字數 1621 閱讀 1596

無力吐槽今年的kubi機器運。。。

自己的本本壞

學校實驗室的電腦壞

公司的電腦也糾結。。。

源**獲取:

當前目錄是/home/jinwh,也就是主資料夾

$ mkdir ~/bin 

這目錄,可能已經在了

$ path=~/bin:$path

$ curl > ~/bin/repo

$ chmod a+x ~/bin/repo

repo init -u -b ics

如果提示找不到repo命令,那麼需要新增path,具體加到**。。。貌似也很糾結的出過問題

然後需要source一下。

source /etc/profile

source /etc/environment

有些,重啟才有效

使用 echo $path 察看當前的path

repo sync

$ sudo apt-get install git gnupg flex bison gperf build-essential \

zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \

libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \

libgl1-mesa-dev g++-multilib mingw32 tofrodos \

python-markdown libxml2-utils xsltproc zlib1g-dev:i386

$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libgl.so.1 /usr/lib/i386-linux-gnu/libgl.so

cd 源**目錄

source build/envsetup.sh

源**目錄下/device/samsung/crespo執行extract-files.sh 

(samsung,crespo什麼的,跟手機型號有關係)

source 一下 setup-makefiles.sh

此時,源**目錄/vendor下出現samsung

源**目錄/vendor/samsung/crespo下出現proprietary 這個目錄下是一些 .so和.mk檔案。這個crespo用來在brunch命令下的那些選項裡選擇對應手機的版本,這裡使用的是samsung的nexus s ,選cm_crespo_userdebug

brunch 選擇對應的

生成的原始碼在~/源**目錄/out/target/product/crespo/

以後的編譯只需以下幾步

cd 源**目錄

source build/envsetup.sh

brunch

選擇對應的

刷機過程

這裡,只是刷rom。

手機連電腦上

adb push ***.zip /sdcard/

手機上,重啟,引導,選recovery

兩個wipe

選install zip from sdcard

choose

找到自己rom的zip包

刷機,重啟  

隨便聊聊android的原始碼

在framework層看了些android的原始碼,主要有以下兩點感受 1,很多內部類和介面,但是這些內部類和介面,在其他外部類中也會有呼叫。2,很多全域性變數貫穿各個方法中,甚至於被其他外部類呼叫,修改,因此很難把握這些變數。這兩點,導致理解源 比較困難,並且有時想對某個方法進行單元測試,基本上很...

Android的suiface類原始碼深度剖析

su ce用來處理一段單獨的緩衝區,這段緩衝區是由螢幕合成器來管理的。su ce 包含安全的內容,使用一些特殊的措施來阻止在其他的程序中複製su ce內容。尤其是截圖和vnc服務。su ce不能被硬體加速。它建立的緩衝區有幾種 buffers,normal,blur,dim。當su ce不能被建立或...

Android 原始碼的抽象工廠模式

抽象工廠模式也是建立型模式之一。抽象工廠模式起源於以前對不同作業系統的圖形化解決方案。如不同作業系統中的按鈕和文字框控制項實現不同,展示效果也不一樣,對於每個作業系統,其本身就構成乙個產品類,而按鈕與文字框控制項也構成乙個產品類,兩種產品類兩種變化,各自有自己的特性。為建立一組相關或者是相互依賴的物...