編輯:關於Android編程
配置Ubantu系統服務器,需要在“終端”輸入指定的命令來安裝指定的程序,進行對應的操作,類似於Windows中的命令行,因此在進行接下來的配置操作之前,我們需要搜索並打開打開“終端”程序。
1、Root登陸Ubantu系統
Ubuntu系統相比於其他 Linux系統有一個與眾不同的特點,那就是初次使用它時,你無法作為root賬戶來登錄系統,為什麼會這樣?這就要從系統的安裝說起。
對於其他Linux系統來說,一般在安裝過程中就設定root密碼,這樣用戶就能用它登錄root帳戶或使用su命令轉換到超級用戶身份。然而Ubuntu安裝時,默認並沒有給root用戶設置口令,也沒有啟用root帳戶。那麼問題來了,我們要想作為root用戶來執行某些特定權限的命令該怎麼辦呢?
答案就是:我們可以使用“sudo命令”達到以上目的。
“sudo”是Linux下常用的、允許普通用戶使用超級用戶權限的工具,該命令為管理員提供了一種細顆粒度的訪問控制方法,通過它我們既可以作為超級用戶又可以作為其它類型的用戶來訪問系統。這樣做的好處是,管理員能夠在不告訴其他用戶root密碼的前提下,授予他們某些特定類型的超級用戶權限,這正是許多系統管理員所夢寐以求的授權方式。
設置分配root權限非常簡單,需要在終端執行如下命令設置root密碼即可:
sudo passwd root
根據提示設置root密碼,設置完成後,輸入“su”填寫剛才設置的密碼,登陸root用戶就大功告成,如下圖。
如上圖所示,Root賬戶登錄成功後,帳戶名會以“root@”開頭,並以白色字體顯示。
在進行團隊成員登陸服務器權限的管理時,還可以用修改系統配置文件屬性的方式在實現自動root,以下暫時用不到,這裡就不贅述。
2、下載並安裝JDK
2.1.首先在終端輸入以下命令來搜索當前系統的JDK版本;
sudo apt-cache search openjdk
2.2.上圖可見,Ubantu 16.04默認支持的的版本為openjdk-8-jdk、openjdk-9-jdk,我們可是執行如下命令來安裝它們。
sudo apt-get install openjdk-8-jdk
或
sudo apt-get install openjdk-9-jdk
但是,目前市面上最新版本的Android6.0,僅僅支持到OpenJDK7:
因此,出於編譯兼容性的考慮,建議執行如下命令,下載並安裝openjdk-7-jdk;
sudoadd-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get installopenjdk-7-jdk
2.3.如果之前你已經安裝了openjdk-8-jdk或者是其他版本,那麼你需要進行當前使用的JDK版本的切換,如下圖所示,執行如下命令,輸入對應版本的數字,進行版本切換:
update-alternatives--config java
update-alternatives--config javac
切換完成,可執行echo $JAVA_HOME命令查看當前的JDK版本。
3、配置環境變量
跟配置Android環境類似,安裝完JDK後,我們需要配置JAVA_HOME環境變量給系統;
3.1.首先執行如下命令,查看當前系統是否已經配置JAVA_HOME;
echo $JAVA_HOME
3.2.寫入JAVA_HOME(openjdk的安裝路徑)給系統配置文件 .bashrc;
echo export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/" >> ~/.bashrc
【建議復制粘貼,手動輸入時,請注意命令字符間的空格】
3.3.然後重啟終端或通過使用以下命令加載加載修改後的系統配置;
source ~/.bashrc
3.4.重新輸入echo$JAVA_HOME命令,就可以看到剛剛設置好的配置。
.
【類似Windows平台配置Java/Android環境變量,我們可以另開一個終端,輸入“java”或“javac”命令,來檢驗環境變量是否配置成功,也可以通過輸入“java -version”查看當前安裝OpenJDK版本】
4、安裝、配置SSH服務
SSH即 Secure Shell,它是由IETF的網絡小組(Network Working Group)所制定的、建立在應用層和傳輸層基礎上的安全協議。它是目前比較可靠,且專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH協議可以有效防止遠程管理過程中的信息洩露問題,因此應用廣泛。
4.1.首先安裝ssh-server端軟件包,命令如下:
sudo apt-get install openssh-server
如果當前Ubantu系統為CD安裝版時,我們可能還需要安裝ssh-client:
sudo apt-get install openssh-client
4.2.然後,確認ssh-server服務器是否啟動成功,執行如下命令:
ps -e |grep ssh
如果只有ssh-agent,那麼說明ssh-server還沒有啟動;
如果看到sshd那說明ssh-server已經啟動了,如下圖所示:
4.3.ssh-server配置文件位於/etc/ssh/sshd_config下,使用以下命令查看:
cat /etc/ssh/sshd_config
SSH默認端口是22,可以自定義SSH的服務端口,也可以改成其他端口,我們這裡不做修改。
4.4.重啟ssh-server服務
sudo /etc/init.d/ssh restart
4.5.管理用戶
如果開發團隊有多位同事做ROM開發,大家需要用到Android編譯服務器,那麼我們就要為每人開一個SSH服務器登陸賬號,在同一時間大家用各自的賬號登陸服務器,在自己的個人目錄下存放從主分支clone下來的代碼,進行自己所負責模塊的代碼修改、編譯和提交。
添加新的網絡訪問帳戶,執行如下命令:
sudo adduser luoqiang
一般情況下,以同事的姓名拼音作為username,便於後期代碼版本控制和管理中的識別。我們給新同事開賬戶的時候,可以統一規定一般賬戶的初始密碼,例如:123456,或者是就是用戶名,每個賬戶自己登陸上去之後,可以自行修改密碼。
若作為服務器管理員,建議同時開辟了兩個公共賬號,一個專門用來下載原始代碼,這樣只需要給一個賬號申請下載權限;一個只用於出版本時編譯,任何人不得修改編譯賬戶下的代碼,這樣可以保證編譯的工程的安全與潔淨。
4.6.登陸服務器
從管理員那裡確認已開通服務器登陸賬戶和密碼之後,就可在各自的PC上登陸服務器,進行代碼同步/提交等操作。
使用Macbook OS X系統的同事,可以直接在“終端”程序輸入:ssh用戶名@服務器IP,進行登錄;
使用Windows系統的同時,則需要下載模擬Linux環境的Cygwin進行登陸。
5、安裝、配置GIT
5.1.安裝git軟件包
sudo apt-get install git
5.2.添加全局配置
設置git用戶名:
git config --global user.name [username]
例如:git config --global user.name lqiang
設置git用戶郵箱:
git config --global user.email [email]
例如:git config --global [email protected]
設置git輸出著色:
git config --global color.ui true
設置編輯器工具為vim:
git config --global core.editor vim
以上配置所執行命名在一般用戶端同樣適用。
6、安裝編譯依賴軟件包
對於Android ROM編譯所依賴的軟件包,Google官方有給出了明確的指示和安裝命令,同時官方也會不定期的對這安裝命令中的軟件安裝版本號進行更新。
因此我們需要先執行一下兩條命令安裝依賴軟件包;
sudo apt-get install -y git git-core flex bison gperf build-essentialgnupg g++-multilib zip curl zlib1g-dev zlib1g-dev:i386 gcc-multilib xsltprocunzip m4 x11proto-core-dev tofrodos python-markdown dpkg-dev ccache
sudo apt-get install libncurses5-dev:i386 libx11-dev:i386libreadline6-dev:i386 libgl1-mesa-dev libc6-dev-i386 lib32z-dev libxml2-utils lib32ncurses5-devlibx11-dev libsdl1.2-dev libesd0-dev
然後執行下面這條命令更新安裝好的可更新的軟件包:
sudo apt-get update
概述 移動互聯網安全無疑已成為當今主流安全威脅之一。統計 2011 年至今的移動惡意代碼病毒庫,可以看到 Android 平台下的惡意軟件數量增長可謂
這篇文章還是針對非gradle build的工程,gradle build有一些差別。在Eclipse要引用別的工程為本工程的library很簡單,但是在Android
介紹A toast provides simple feedback about an operation in a small popup. It only fills
TelephonyManager是一個管理手機通話狀態、電話網絡信息的服務類,該類提供了大量的getXxx(),方法獲取電話網絡的相關信息。關於TelephonyMana