[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager <套件名> [<套件名>]安裝 Android SDK 的開發套件。不過,在查詢套件名稱時
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager --list如標示為紅色的套件名稱,其中的『. . .』在安裝時卻不知該填入哪些字。想安裝也會因為不知完整名稱,而出現找不到套件名稱的錯誤訊息。
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
add-ons;addon-g..._apis-google-15 | 3 | Google APIs | add-ons/addon-g...apis-google-15/
add-ons;addon-g..._apis-google-18 | 4 | Google APIs | add-ons/addon-g...apis-google-18/
..........
Available Packages:
Path | Version | Description
------- | ------- | -------
add-ons;addon-g..._apis-google-15 | 3 | Google APIs
add-ons;addon-g..._apis-google-16 | 4 | Google APIs
add-ons;addon-g..._apis-google-17 | 4 | Google APIs
add-ons;addon-g..._apis-google-18 | 4 | Google APIs
add-ons;addon-g..._apis-google-19 | 20 | Google APIs
add-ons;addon-g..._apis-google-21 | 1 | Google APIs
..........
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager "add-ons;addon-g..._apis-google-15"上例中,兩個安裝命令是等效的,都是因『. . .』而無法安裝。看來,如何得知完整的套件名稱,變成用「命令列』安裝的必要條件。
Warning: Failed to find package add-ons;addon-g..._apis-google-15
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager add-ons\;addon-g..._apis-google-15
Warning: Failed to find package add-ons;addon-g..._apis-google-15
經過幾週來搜尋,發現 sdkmanager 有個隱藏參數『--verbose』,可以列出完整的套件名稱。在 sdkmanager 下『--list』參數以顯示套件名稱時,同時再加上『--verbose』這個隱藏參數。
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager --list --verbose上例中紅色標記的文字就是套件的完整名稱。不過,顯示出來的訊息太多,不容易找到到需要套件名稱,用 grep 命令過濾這些非套件名的訊息,只顯示套件名稱。
Info: Parsing /home/opt/android-sdk/add-ons/addon-google_apis-google-19/package.xml
Info: Parsing /home/opt/android-sdk/add-ons/addon-google_apis-google-23/package.xml
..........
Info: Parsing /home/opt/android-sdk/tools/package.xml
Installed packages:
--------------------------------------
add-ons;addon-google_apis-google-15
Description: Google APIs
Version: 3
Installed Location: /home/opt/android-sdk/add-ons/addon-google_apis-google-15
add-ons;addon-google_apis-google-16
Description: Google APIs
Version: 4
Installed Location: /home/opt/android-sdk/add-ons/addon-google_apis-google-16
..........
[root@Core-i7 ~]# /opt/android-sdk/tools/bin/sdkmanager --list --verbose | grep Available -A 1000 | grep ^[a-z]在上例中列出了所有套件的完整名稱,而 done 是命令結束的訊息不是套件名稱,其中『 | grep Available -A 1000 | grep ^[a-z]』是將訊息經過兩次過濾的命令,只留下『可安裝』及『套件名』,其它不相干的資訊都濾除掉。
add-ons;addon-google_apis-google-15
add-ons;addon-google_apis-google-16
add-ons;addon-google_apis-google-17
..........
system-images;android-26;android-tv;x86
system-images;android-26;android-wear;x86
system-images;android-26;google_apis;x86
system-images;android-26;google_apis_playstore;x86
tools
done
已測試版本:
- Android SDK: 26, 25
- Fedora: 25, 24, 22
赞!
回覆刪除