在 WSL2 中要開發原生 Android 應用程式,幾乎離不開 Android SDK 的 Command-line Tools ,這包工具最重要的就是 adb 和 sdkmanager ,有了 sdkmanager 就可以繼續安裝其他 SDK 工具。
開啟 Android Develop 官方網站 ,往下捲動到 僅限指令列工具 ,複製 Linux SDK 工具套件 的下載連結(需要點進去,同意條款,才會有下載連結)
筆者取得的下載連結如下:
建立一個資料夾來儲存安裝工具:
進入到目錄中:
從剛剛取得的連結下載工具:
解壓縮:
使用 ls 就會看到已經被解壓縮到 cmdline-tools 資料夾了:
移除原本的下載檔案
然後這裡有個大坑,就是 cmdline-tools 資料夾內一定要有 latest ,檔案應該是要在 latest 資料夾內,如果沒有的話就使用下面的指令建立 latest 資料夾
然後把檔案搬進去。註:這是偷懶的寫法,會說無法移動 latest 資料夾,但是其他都會移動成功,不影響。
檔案樹會長這樣:
編輯 ~/.bashrc 檔案:
在最下面加入以下環境變數:
重新讀取 ~/.bashrc 檔案
使用 sdkmanager 指令驗證是否安裝成功:
如果出現以下錯誤訊息,就代表路徑錯誤,路徑一定要長 cmdline-tools/latest/ 這樣,建立 latest 資料夾然後把檔案移動進去就可以了:
查看 sdkmanager 版本:
如果要使用虛擬機的話,執行以下指令安裝 emulator 套件
驗證 emulator 安裝成功:
開啟 Android Develop 官方網站 ,往下捲動到 僅限指令列工具 ,複製 Linux SDK 工具套件 的下載連結(需要點進去,同意條款,才會有下載連結)
筆者取得的下載連結如下:
https://dl.google.com/android/repository/commandlinetools-linux-14742923_latest.zip
建立一個資料夾來儲存安裝工具:
mkdir -p ~/Android/Sdk
進入到目錄中:
cd ~/Android/Sdk
從剛剛取得的連結下載工具:
wget https://dl.google.com/android/repository/commandlinetools-linux-14742923_latest.zip
解壓縮:
unzip commandlinetools-linux-14742923_latest.zip
使用 ls 就會看到已經被解壓縮到 cmdline-tools 資料夾了:
ls
cmdline-tools commandlinetools-linux-14742923_latest.zip
移除原本的下載檔案
rm commandlinetools-linux-14742923_latest.zip
然後這裡有個大坑,就是 cmdline-tools 資料夾內一定要有 latest ,檔案應該是要在 latest 資料夾內,如果沒有的話就使用下面的指令建立 latest 資料夾
mkdir -p ~/Android/Sdk/cmdline-tools/latest
然後把檔案搬進去。註:這是偷懶的寫法,會說無法移動 latest 資料夾,但是其他都會移動成功,不影響。
mv ~/Android/Sdk/cmdline-tools/* ~/Android/Sdk/cmdline-tools/latest/
檔案樹會長這樣:
~/Android/Sdk/cmdline-tools$ tree -L 3 .
.
└── latest
├── NOTICE.txt
├── bin
│ ├── apkanalyzer
│ ├── avdmanager
│ ├── d8
│ ├── lint
│ ├── profgen
│ ├── r8
│ ├── resourceshrinker
│ ├── retrace
│ ├── screenshot2
│ └── sdkmanager
├── lib
│ ├── README
│ ├── analytics-library
│ ├── annotations
│ ├── apkanalyzer-classpath.jar
│ ├── apkparser
│ ├── avdmanager-classpath.jar
│ ├── build-system
│ ├── common
│ ├── d8-classpath.jar
│ ├── ddmlib
│ ├── device_validator
│ ├── external
│ ├── layoutlib-api
│ ├── lint
│ ├── lint-classpath.jar
│ ├── misc
│ ├── profgen
│ ├── profgen-classpath.jar
│ ├── r8-classpath.jar
│ ├── r8.jar
│ ├── repository
│ ├── resourceshrinker-classpath.jar
│ ├── retrace-classpath.jar
│ ├── screenshot2-classpath.jar
│ ├── sdk-common
│ ├── sdklib
│ ├── sdkmanager-classpath.jar
│ └── zipflinger
└── source.properties
19 directories, 24 files
編輯 ~/.bashrc 檔案:
vi ~/.bashrc
在最下面加入以下環境變數:
export ANDROID_HOME=$HOME/Android/Sdk
export ANDROID_SDK_ROOT=$ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/emulator
重新讀取 ~/.bashrc 檔案
source ~/.bashrc
使用 sdkmanager 指令驗證是否安裝成功:
sdkmanager --licenses
[=======================================] 100% Computing updates...
All SDK package licenses accepted.
如果出現以下錯誤訊息,就代表路徑錯誤,路徑一定要長 cmdline-tools/latest/ 這樣,建立 latest 資料夾然後把檔案移動進去就可以了:
sdkmanager --licenses
Error: Could not determine SDK root.
Error: Either specify it explicitly with --sdk_root= or move this package into its expected location: &sdk>/cmdline-tools/latest/
查看 sdkmanager 版本:
sdkmanager --version
20.0
如果要使用虛擬機的話,執行以下指令安裝 emulator 套件
sdkmanager --install "emulator"
驗證 emulator 安裝成功:
emulator -version
INFO | Android emulator version 36.5.10.0 (build_id 15081367) (CL:N/A)
INFO | Graphics backend: gfxstream
Android emulator version 36.5.10.0 (build_id 15081367) (CL:N/A)
Copyright (C) 2006-2024 The Android Open Source Project and many others.
This program is a derivative of the QEMU CPU emulator (www.qemu.org).
This software is licensed under the terms of the GNU General Public
License version 2, as published by the Free Software Foundation, and
may be copied, distributed, and modified under those terms.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com