打造一個(gè)全命令行的Android構(gòu)建系統(tǒng)
step 1 安裝 JDK 環(huán)境
配合android的JDK最好選用JDK官方版本而不是Open JDK,下面是在unbuntu下安裝JDK 1.7的方法。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
step 2 安裝 Android SDK
android sdk 工具包的一些命令行工具是基于32位系統(tǒng)的,在64為平臺(tái)運(yùn)行32程序必須安裝 i386 的一些依賴庫,方法如下:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1
安裝完成32位的依賴庫后,我們使用wget 去官方下載最新的linux下android SDK包。
cd ~
wget http://dl.google.com/android/android-sdk_r24.0.1-linux.tgz
tar xvzf android-sdk_r24.0.1-linux.tgz
編輯 .profile 或者 .bash_profile 把下面的目錄增加到 path的搜索路徑中,確保android SDK的的一些命令工具可以直接在終端使用,比如 adb 命令。
ANDROID_HOME=$HOME/android-sdk-linux
export PATH="$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools"
exprot ANDROID_HOME
使環(huán)境變量生效
source ~/.profile
環(huán)境變量生效后,你可以使用android命令 列出sdk相關(guān)的列表,以便我們選擇和自己項(xiàng)目匹配的SDK版本。(剛才只是安裝了最基礎(chǔ)的SDK,要完全滿足你的開發(fā)環(huán)境需要還得從下面的列表中選擇你需要的SDK和工具更新下載)
android list sdk --all
輸出如下所示:
1- Android SDK Tools, revision 24.0.1
2- Android SDK Platform-tools, revision 21
3- Android SDK Build-tools, revision 21.1.2
4- Android SDK Build-tools, revision 21.1.1
5- Android SDK Build-tools, revision 21.1
6- Android SDK Build-tools, revision 21.0.2
7- Android SDK Build-tools, revision 21.0.1
8- Android SDK Build-tools, revision 21
9- Android SDK Build-tools, revision 20
10- Android SDK Build-tools, revision 19.1
11- Android SDK Build-tools, revision 19.0.3
12- Android SDK Build-tools, revision 19.0.2
13- Android SDK Build-tools, revision 19.0.1
14- Android SDK Build-tools, revision 19
15- Android SDK Build-tools, revision 18.1.1
16- Android SDK Build-tools, revision 18.1
17- Android SDK Build-tools, revision 18.0.1
18- Android SDK Build-tools, revision 17
19- Documentation for Android SDK, API 21, revision 1
20- SDK Platform Android 5.0.1, API 21, revision 2
21- SDK Platform Android 4.4W.2, API 20, revision 2
22- SDK Platform Android 4.4.2, API 19, revision 4
23- SDK Platform Android 4.3.1, API 18, revision 3
24- SDK Platform Android 4.2.2, API 17, revision 3
....
這里包括不同的Android API 版本和不同的構(gòu)建工具,選擇你想要安裝項(xiàng)目的序號(hào),這里我想安裝 build tools 19.1 ,build tools 21 及 android 4.2.2以上的SDK所以選擇序號(hào) “1,2,3,20,21,22,23”
android update sdk -u -a -t 1,2,3,10,20,21,22,23
step 3 安裝gradle構(gòu)建環(huán)境
使用Ant構(gòu)建項(xiàng)目已經(jīng)是過去式了,這里我們選用更加強(qiáng)悍和方便的構(gòu)建工具gradle 。
下載 grdle 二進(jìn)制包
cd ~
wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
釋放到本地Home目錄,創(chuàng)建名字為"gradle"的符號(hào)鏈接,符號(hào)連接的好處是方便版本更新,有了新的版本直接修改符號(hào)鏈接即可。
unzip gradle-2.2.1-bin.zip
ln -s gradle-2.2.1 gradle
配置gradle環(huán)境變量并使其生效,編輯 ~/.profje 文件增加下面內(nèi)容
GRADLE_HOME=$HOME/gradle
export PATH=$PATH:$GRADLE_HOME/bin
保存后使環(huán)境變量使其生效
source ~/.profile
環(huán)境變量生效后你可以在終端敲入'gradle'命令并運(yùn)行用以檢測(cè)gradle是否安裝成功。
gradle
如果安裝配置的沒有問題將會(huì)提示類似下面的信息
:help
Welcome to Gradle 2.2.1
To run a build, run gradle task> ...
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
BUILD SUCCESSFUL
驗(yàn)證是否可以編譯android 應(yīng)用
完成以上的環(huán)境配置,我們的一個(gè)Android下的基礎(chǔ)構(gòu)建環(huán)境就全部配置好了,接下來做的事情就是嘗試使用gradle 編譯一個(gè)android 應(yīng)用出來驗(yàn)證我的編譯環(huán)境是否OK,下載我寫的一個(gè)gadle demo 例子進(jìn)行測(cè)試。
git clone https://github.com/examplecode/gradle_demo
cd gradle_demo/hello-apk-with-gradle
gradle build
如何在 Linux 上從 Google Play 商店里下載 apk 文件
Python 需求
GooglePlayDownloader 需要使用帶有 SNI(Server Name Indication 服務(wù)器名稱指示)的 Python 來支持 SSL/TLS 通信,該功能由 Python 2.7.9 或更高版本引入。這使得一些舊的發(fā)行版本如 Debian 7 Wheezy 及早期版本,Ubuntu 14.04 及早期版本或 CentOS/RHEL 7 及早期版本均不能滿足該要求。這里假設(shè)你已經(jīng)有了一個(gè)帶有 Python 2.7.9 或更高版本的發(fā)行版本,可以像下面這樣接著安裝 GooglePlayDownloader。
在 Ubuntu 上安裝 GooglePlayDownloader
在 Ubuntu 上,你可以使用官方構(gòu)建的 deb 包。有一個(gè)條件是你可能需要手動(dòng)地安裝一個(gè)必需的依賴。
在 Ubuntu 14.10 上
下載 python-ndg-httpsclient deb 軟件包,這是一個(gè)較舊的 Ubuntu 發(fā)行版本中缺失的依賴。同時(shí)還要下載 GooglePlayDownloader 的官方 deb 軟件包。
$ wget http://mirrors.kernel.org/ubuntu/pool/main/n/ndg-httpsclient/python-ndg-httpsclient_0.3.2-1ubuntu4_all.deb
$ wget http://codingteam.net/project/googleplaydownloader/download/file/googleplaydownloader_1.7-1_all.deb
如下所示,我們將使用 gdebi 命令 來安裝這兩個(gè) deb 文件。 gedbi 命令將自動(dòng)地處理任何其他的依賴。
$ sudo apt-get install gdebi-core
$ sudo gdebi python-ndg-httpsclient_0.3.2-1ubuntu4_all.deb
$ sudo gdebi googleplaydownloader_1.7-1_all.deb
在 Ubuntu 15.04 或更新的版本上
最近的 Ubuntu 發(fā)行版本上已經(jīng)配備了所有需要的依賴,所以安裝過程可以如下面那樣直接進(jìn)行。
$ wget http://codingteam.net/project/googleplaydownloader/download/file/googleplaydownloader_1.7-1_all.deb
$ sudo apt-get install gdebi-core
$ sudo gdebi googleplaydownloader_1.7-1_all.deb
在 Debian 上安裝 GooglePlayDownloader
由于其 Python 需求, Googleplaydownloader 不能被安裝到 Debian 7 Wheezy 或早期版本上,除非你升級(jí)了它自備的 Python 版本。
在 Debian 8 Jessie 及更高版本上:
$ wget http://codingteam.net/project/googleplaydownloader/download/file/googleplaydownloader_1.7-1_all.deb
$ sudo apt-get install gdebi-core
$ sudo gdebi googleplaydownloader_1.7-1_all.deb
在 Fedora 上安裝 GooglePlayDownloader
由于 GooglePlayDownloader 原本是針對(duì)基于 Debian 的發(fā)行版本所開發(fā)的,假如你想在 Fedora 上使用它,你需要從它的源碼開始安裝。
首先安裝必需的依賴。
$ sudo yum install python-pyasn1 wxPython python-ndg_httpsclient protobuf-python python-requests
然后像下面這樣安裝它。
$ wget http://codingteam.net/project/googleplaydownloader/download/file/googleplaydownloader_1.7.orig.tar.gz
$ tar -xvf googleplaydownloader_1.7.orig.tar.gz
$ cd googleplaydownloader-1.7
$ chmod o+r -R .
$ sudo python setup.py install
$ sudo sh -c "echo 'python /usr/lib/python2.7/site-packages/googleplaydownloader-1.7-py2.7.egg/googleplaydownloader/googleplaydownloader.py' > /usr/bin/googleplaydownloader"
使用 GooglePlayDownloader 從 Google Play 商店下載 APK 文件
一旦你安裝好 GooglePlayDownloader 后,你就可以像下面那樣從 Google Play 商店下載 APK 文件。(LCTT 譯注:顯然你需要讓你的 Linux 能爬梯子)
首先通過輸入下面的命令來啟動(dòng)該應(yīng)用:
$ googleplaydownloader
在搜索欄中,輸入你想從 Google Play 商店下載的應(yīng)用的名稱。
一旦你從搜索列表中找到了該應(yīng)用,就選擇該應(yīng)用,接著點(diǎn)擊 “下載選定的 APK 文件” 按鈕。最后你將在你的家目錄中找到下載的 APK 文件?,F(xiàn)在,你就可以將下載到的 APK 文件轉(zhuǎn)移到你所選擇的 Android 設(shè)備上,然后手動(dòng)安裝它。
希望這篇教程對(duì)你有所幫助。