打造一個全命令行的Android構建系統
step 1 安裝 JDK 環境
配合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位系統的,在64為平台運行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
使環境變量生效
代碼如下:
source ~/.profile
環境變量生效後,你可以使用android命令 列出sdk相關的列表,以便我們選擇和自己項目匹配的SDK版本。(剛才只是安裝了最基礎的SDK,要完全滿足你的開發環境需要還得從下面的列表中選擇你需要的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 版本和不同的構建工具,選擇你想要安裝項目的序號,這裡我想安裝 build tools 19.1 ,build tools 21 及 android 4.2.2以上的SDK所以選擇序號 “1,2,3,20,21,22,23”
代碼如下:
android update sdk -u -a -t 1,2,3,10,20,21,22,23
step 3 安裝gradle構建環境
使用Ant構建項目已經是過去式了,這裡我們選用更加強悍和方便的構建工具gradle 。
下載 grdle 二進制包
代碼如下:
cd ~
wget https://services.gradle.org/distributions/gradle-2.2.1-bin.zip
釋放到本地Home目錄,創建名字為"gradle"的符號鏈接,符號連接的好處是方便版本更新,有了新的版本直接修改符號鏈接即可。
代碼如下:
unzip gradle-2.2.1-bin.zip
ln -s gradle-2.2.1 gradle
配置gradle環境變量並使其生效,編輯 ~/.profje 文件增加下面內容
代碼如下:
GRADLE_HOME=$HOME/gradle
export PATH=$PATH:$GRADLE_HOME/bin
保存後使環境變量使其生效
代碼如下:
source ~/.profile
環境變量生效後你可以在終端敲入'gradle'命令並運行用以檢測gradle是否安裝成功。
代碼如下:
gradle
如果安裝配置的沒有問題將會提示類似下面的信息
代碼如下:
:help
Welcome to Gradle 2.2.1
To run a build, run gradle
To see a list of available tasks, run gradle tasks
To see a list of command-line options, run gradle --help
BUILD SUCCESSFUL
驗證是否可以編譯android 應用
完成以上的環境配置,我們的一個Android下的基礎構建環境就全部配置好了,接下來做的事情就是嘗試使用gradle 編譯一個android 應用出來驗證我的編譯環境是否OK,下載我寫的一個gadle demo 例子進行測試。
代碼如下:
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 服務器名稱指示)的 Python 來支持 SSL/TLS 通信,該功能由 Python 2.7.9 或更高版本引入。這使得一些舊的發行版本如 Debian 7 Wheezy 及早期版本,Ubuntu 14.04 及早期版本或 CentOS/RHEL 7 及早期版本均不能滿足該要求。這裡假設你已經有了一個帶有 Python 2.7.9 或更高版本的發行版本,可以像下面這樣接著安裝 GooglePlayDownloader。
在 Ubuntu 上安裝 GooglePlayDownloader
在 Ubuntu 上,你可以使用官方構建的 deb 包。有一個條件是你可能需要手動地安裝一個必需的依賴。
在 Ubuntu 14.10 上
下載 python-ndg-httpsclient deb 軟件包,這是一個較舊的 Ubuntu 發行版本中缺失的依賴。同時還要下載 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 命令 來安裝這兩個 deb 文件。 gedbi 命令將自動地處理任何其他的依賴。
代碼如下:
$ 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 發行版本上已經配備了所有需要的依賴,所以安裝過程可以如下面那樣直接進行。
代碼如下:
$ 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 或早期版本上,除非你升級了它自備的 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 原本是針對基於 Debian 的發行版本所開發的,假如你想在 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 能爬梯子)
首先通過輸入下面的命令來啟動該應用:
代碼如下:
$ googleplaydownloader
在搜索欄中,輸入你想從 Google Play 商店下載的應用的名稱。
一旦你從搜索列表中找到了該應用,就選擇該應用,接著點擊 “下載選定的 APK 文件” 按鈕。最後你將在你的家目錄中找到下載的 APK 文件。現在,你就可以將下載到的 APK 文件轉移到你所選擇的 Android 設備上,然後手動安裝它。
希望這篇教程對你有所幫助。