linux 安裝android開發環境的一些配置和踩坑點
1. 下載SDK
- 去哪里下? android studio 官網,最下面的linux命令行工具,這種方法暫時不使用,因為不會
注意:這里有一個很坑的情況。官網里面的linux 僅限命令行工具還不知道是什么情況,下載下來并且解壓只是tools ,是sdk 的tools 目錄。雖然只有這個就行了,但是現在并不知道如何使用
- 看教程直接下載sdk android_sdk_r24.4.1
這些sdk資源在哪里獲取呢? Android 資源網
2. 安裝SDK
- linux 服務器下載,wget http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
- 解壓 tar xvzf android-sdk_r24.4.1-linux.tgz
3. 配置SDK
- 環境變量
vim /etc/profile
export ANDROID_HOME=/usr/local/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
- 使環境變量改變生效 source /etc/profile
- 列出需要安裝的資源
- android list sdk --all
列出所有的 sdk 資源包括 Sdk buildTools,SDK platform 等等
選中所需呀資源的序號,比如3 是 buildtoolsVersion 28.0.3,47是 platform 8.1.0 - android update sdk -u -a -t 3,47(需要資源的序號)... 下載
注意: 目前一般的android project 都會自帶 wrapper 目錄,里面帶有gradle,項目根目錄還有腳本,所以一般運行的時候不需要去下載gradle。android studio 配置gradle 插件即可。如果項目中沒有gradle,也沒有as 則需要下載gradle。
步驟如下:1.下載gradle wget https://services.gradle.org/distributions/gradle-2.12-bin.zip 2.解壓 unzip gradle-2.12-bin.zip 3.配置環境變量 GRADLE_HOME=PATH:$GRADLE_HOME/bin 4. source /etc/profile 5. 輸入gradle 檢測是否安裝成功
找到自己缺失組件比如android-28 的代號,并且安裝
4.運行項目遇到的問題
- 在./gradlew assembleRelease 編譯到時候,可能出現
You have not accepted the license agreements of the following SDK components: [Android SDK Build-Tools 24, Android SDK Platform 24]. Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager. Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
這是因為缺少組件導致的,這里是缺少 platform android-28。所以需要安裝
android list sdk --all
也有可能會出現
./gradlew: Permission denied
這時候需要增加可執行權限
chmod +x ./gradlew
- 執行./gradlew assembleRelease 報net java command
當linux 環境第一次配置的時候,并沒有登錄到root 。這時候這行各種命令都需要加sudo .很不方便,特別是如果要執行./gradlew assembleRelease 這行打包,會提示找不到java命令。因為這里是通過sudo執行的,而root 并沒有配置java。所以需要先通過
sudo passwd root
配置root 的新密碼然后在通過su 切換到普通用戶,記得要source ./bash_profile 這時就可以打包執行命令了。