Android 菜鳥歷程6

2021-06-03 20:35:30 字數 3309 閱讀 1643

1. android原始碼可以編譯出android sdk、adb等工具、android檔案系統,以及adt外掛程式,也就是說,我們可以從android原始碼編譯出所有android相關的東西。

2. 獲取當前時間的後乙個月

date currenttime = new date();

calendar calendar = calendar.getinstance();

calendar.settime(currenttime);

calendar.add(calendar.month, backup.getinterval_months());

******dateformat formatter = new ******dateformat("yyyy-mm-dd hh:mm:ss");

system.out.println(formatter.format(calendar.gettime()));

3. make -j 命令列引數 指同時執行命令的個數。如果沒有這個引數,make執行命令時能執行多少就執行多少。如果有乙個以上的「-j」引數,那麼僅最後乙個「-j」才是有效的。(注意這個引數在ms-dos中是無用的)

4. adb全稱android debug bridge, 是android sdk裡的乙個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod裝置(如g1手機). 

adb是乙個 客戶端-伺服器端 程式, 其中客戶端是你用來操作的電腦, 伺服器端是android裝置.

5. linux export命令

1. 功能說明:設定或顯示環境變數。

語 法:export [-fnp][變數名稱]=[變數設定值]

補充說明:在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該此登入操作

2. 宣告全域性變數,可以被其子shell使用。
6. ubuntu環境變數在/etc/environment 定義初始化,在其他配置檔案中可通過export 追加。
7. ubuntu 11.10 編譯android4.0.3時遇到的錯誤:

make: *** [out/host/linux-x86/obj/executables/clang_intermediates/clang]

/bin/bash: out/host/linux-x86/bin/clang: 許可權不夠

install: out/host/linux-x86/bin/clang

/bin/bash: out/host/linux-x86/bin/clang: 無法執行二進位制檔案

make: *** [out/target/product/generic/obj/shared_libraries/libclcore.bc_intermediates/rs_cl.bc] 錯誤 126

target strip: libwebcore (out/target/product/generic/obj/lib/libwebcore.so)
prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-strip:out/target/product/generic/symbols/system/lib/libwebcore.so: file format not recognized

make: *** [out/target/product/generic/obj/lib/libwebcore.so] 錯誤 1

在網上搜尋,沒有找到一模一樣的問題,但做了以下兩項修改。這裡面有的問題是通過重新編譯就解決的,也不知道以下的兩個解決辦法到底起作用了沒有。

初始化編譯環境 . build/envsetup.sh

由於ubuntu

11.10採用了gcc4.6.1,版本太高。

解決:使用gcc4.4.6版本進行編譯.

ubuntu

11.10的gcc版本是4.6.1,版本太高,編譯

android

時出錯,要把gcc版本改為4.4.6, 4.5的版本據說可以,但沒試過.

通 過gcc -v命令可以發現gcc庫在/usr/lib/gcc/i686-linux-gnu目錄下,該目錄下有當前系統支援的各種版本gcc庫 。在安裝gcc 4.4前該目錄下是沒有4.4目錄的,安裝gcc 4.4後該目錄下就會多出4.4這個目錄,且該4.4目錄下有各種相應庫檔案。

ubuntu

32bit系統下安裝gcc 4.4的最好方法是僅用以下兩條命令,不需要其它命令,否則編譯時可能會出錯。

sudo apt-get install gcc-4.4

sudo apt-get install g++-4.4

裝完後在/usr/bin目錄下

$ ls -l gcc*

lrwxrwxrwx 1 root root      7 2011-10-29 09:11 gcc -> gcc-4.6

-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4

-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6

發現gcc 鏈結到gcc-4.6,  需要將它改為鏈結到gcc-4.4 :

sudo mv gcc gcc.bak

sudo ln -s gcc-4.4 gcc

同理ls -l g++*

lrwxrwxrwx 1 root root      7 2011-08-14 15:17 g++ -> g++-4.6

-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4

-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6

需要將g++鏈結改為g++-4.4:

/usr/bin$ sudo mv g++ g++.bak

/usr/bin$sudo ln -s g++-4.4 g++

再檢視gcc和g++版本號:

gcc -v

g++ -v

均顯示gcc version 4.4.6 ,說明gcc 4.4安裝成功。

測試:編譯

android

,從2011-10-29 23:58開始,到2011-10-30 01:42編譯完成,沒有錯誤。這驗證了gcc 4.4安裝正確,也驗證了android檔案與高版本的gcc不相容。

菜鳥學習歷程 6 關鍵字 指標

關鍵字 1.extern 宣告外部變數,變數在其他檔案中定義,當然這個變數一定要是全域性變數 test.c include int i 1 int main print.c include extern int i void print 2.static 用static修飾全域性變數時,限定了作用域...

菜鳥成長記 runtime歷程

去面乙個有一年以上工作年限的ios開發崗位,如果面試官不是搞技術的,runtime一般問不到,但凡是乙個懂技術的面試官面乙個一年以上的求職者,runtime執行機制是多半會問到的,runtime非常強大,很多人都敗在它魔爪之下,當然我在專案中還沒有用到過runtime,一般比較好點的三方庫都會使用到...

c sharp 菜鳥的學習歷程

新手駕到,第一天學習,忘走在前方的前輩們給予晚輩我多多的指教.謝謝!引用外部的命名空間 using system using system.collections.generic using system.linq using system.text using system.threading.t...