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