./sdkmanager --list > tmp.txt
给我一个像这样的.txt文件:
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
tools | 25.2.3 | Android SDK Tools 25.2.3 | tools/
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
add-ons;addon-g..._apis-google-22 | 1 | Google APIs
add-ons;addon-g..._apis-google-23 | 1 | Google APIs
add-ons;addon-g..._apis-google-24 | 1 | Google APIs
add-ons;addon-g...e_gdk-google-19 | 11 | Glass Development Kit Preview
build-tools;19.1.0 | 19.1.0 | Android SDK Build-Tools 19.1
Kit Preview
build-tools;19.1.0 | 19.1.0 | Android SDK Build-Tools 19.1
我想使用./sdkmanager --install <path>
从其中一些路径安装,但我不能,因为路径被截断。注意我在macOS上使用标准终端应用程序,如果这很重要。
如何获得这些包的完整路径?
答案 0 :(得分:53)
这是known issue。 2017年1月19日,Google员工回复:
感谢您提出此增强功能。我们重视社区的反馈意见,并希望在即将到来的冲刺中审核您的建议。
根据@albodelu的评论,现在可以通过以下方式完成:
sdkmanager --list --verbose
在我的机器上提供以下内容:
Info: Parsing /home/pete/apps/android-sdk/build-tools/23.0.2/package.xml
Info: Parsing /home/pete/apps/android-sdk/build-tools/23.0.3/package.xml
Info: Parsing /home/pete/apps/android-sdk/build-tools/24.0.0/package.xml
...
Installed packages:
--------------------------------------
build-tools;23.0.2
Description: Android SDK Build-Tools 23.0.2
Version: 23.0.2
Installed Location: /home/pete/apps/android-sdk/build-tools/23.0.2
build-tools;23.0.3
Description: Android SDK Build-Tools 23.0.3
Version: 23.0.3
Installed Location: /home/pete/apps/android-sdk/build-tools/23.0.3
...
Available Packages:
--------------------------------------
add-ons;addon-google_apis-google-15
Description: Google APIs
Version: 3
build-tools;19.1.0
Description: Android SDK Build-Tools 19.1
Version: 19.1.0
...
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0
Description: Solver for ConstraintLayout 1.0.0
Version: 1
...
done
如果这太冗长,那么您可以执行以下操作:
sdkmanager --list --verbose | grep -vP "^Info:|^\s|^$|^done$"
使用与perl兼容的正则表达式(-P
)和grep反向匹配(-v
)来删除以Info:
开头的所有行,从空格开始(^\s
),空行(^$
)和仅包含单词done
的行:
Installed packages:
--------------------------------------
build-tools;23.0.2
build-tools;23.0.3
build-tools;24.0.0
build-tools;25.0.2
emulator
extras;android;m2repository
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2
patcher;v4
platform-tools
platforms;android-22
platforms;android-23
platforms;android-24
platforms;android-25
sources;android-24
system-images;android-10;default;x86
system-images;android-25;google_apis;x86_64
tools
Available Packages:
--------------------------------------
add-ons;addon-google_apis-google-15
add-ons;addon-google_apis-google-16
add-ons;addon-google_apis-google-17
add-ons;addon-google_apis-google-18
add-ons;addon-google_apis-google-19
add-ons;addon-google_apis-google-21
add-ons;addon-google_apis-google-22
add-ons;addon-google_apis-google-23
add-ons;addon-google_apis-google-24
add-ons;addon-google_gdk-google-19
build-tools;19.1.0
build-tools;20.0.0
build-tools;21.1.2
build-tools;22.0.1
build-tools;23.0.1
build-tools;23.0.2
build-tools;23.0.3
build-tools;24.0.0
build-tools;24.0.1
build-tools;24.0.2
build-tools;24.0.3
build-tools;25.0.0
build-tools;25.0.1
build-tools;25.0.2
build-tools;25.0.3
cmake;3.6.3155560
docs
emulator
extras;android;gapid;1
extras;android;gapid;3
extras;android;m2repository
extras;google;auto
extras;google;google_play_services
extras;google;instantapps
extras;google;m2repository
extras;google;market_apk_expansion
extras;google;market_licensing
extras;google;play_billing
extras;google;simulators
extras;google;webdriver
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha2
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha3
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha5
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha6
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha7
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.1
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha2
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha3
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha5
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha6
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha7
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha9
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2
lldb;2.0
lldb;2.1
lldb;2.2
lldb;2.3
ndk-bundle
patcher;v4
platform-tools
platforms;android-10
platforms;android-11
platforms;android-12
platforms;android-13
platforms;android-14
platforms;android-15
platforms;android-16
platforms;android-17
platforms;android-18
platforms;android-19
platforms;android-20
platforms;android-21
platforms;android-22
platforms;android-23
platforms;android-24
platforms;android-25
platforms;android-7
platforms;android-8
platforms;android-9
sources;android-15
sources;android-16
sources;android-17
sources;android-18
sources;android-19
sources;android-20
sources;android-21
sources;android-22
sources;android-23
sources;android-24
sources;android-25
system-images;android-10;default;armeabi-v7a
system-images;android-10;default;x86
system-images;android-10;google_apis;armeabi-v7a
system-images;android-10;google_apis;x86
system-images;android-14;default;armeabi-v7a
system-images;android-15;default;armeabi-v7a
system-images;android-15;default;mips
system-images;android-15;default;x86
system-images;android-15;google_apis;armeabi-v7a
system-images;android-15;google_apis;x86
system-images;android-16;default;armeabi-v7a
system-images;android-16;default;mips
system-images;android-16;default;x86
system-images;android-16;google_apis;armeabi-v7a
system-images;android-16;google_apis;x86
system-images;android-17;default;armeabi-v7a
system-images;android-17;default;mips
system-images;android-17;default;x86
system-images;android-17;google_apis;armeabi-v7a
system-images;android-17;google_apis;x86
system-images;android-18;default;armeabi-v7a
system-images;android-18;default;x86
system-images;android-18;google_apis;armeabi-v7a
system-images;android-18;google_apis;x86
system-images;android-19;default;armeabi-v7a
system-images;android-19;default;x86
system-images;android-19;google_apis;armeabi-v7a
system-images;android-19;google_apis;x86
system-images;android-21;android-tv;armeabi-v7a
system-images;android-21;android-tv;x86
system-images;android-21;default;armeabi-v7a
system-images;android-21;default;x86
system-images;android-21;default;x86_64
system-images;android-21;google_apis;armeabi-v7a
system-images;android-21;google_apis;x86
system-images;android-21;google_apis;x86_64
system-images;android-22;android-tv;armeabi-v7a
system-images;android-22;android-tv;x86
system-images;android-22;default;armeabi-v7a
system-images;android-22;default;x86
system-images;android-22;default;x86_64
system-images;android-22;google_apis;armeabi-v7a
system-images;android-22;google_apis;x86
system-images;android-22;google_apis;x86_64
system-images;android-23;android-tv;armeabi-v7a
system-images;android-23;android-tv;x86
system-images;android-23;android-wear;armeabi-v7a
system-images;android-23;android-wear;x86
system-images;android-23;default;x86
system-images;android-23;default;x86_64
system-images;android-23;google_apis;armeabi-v7a
system-images;android-23;google_apis;x86
system-images;android-23;google_apis;x86_64
system-images;android-24;android-tv;x86
system-images;android-24;default;arm64-v8a
system-images;android-24;default;armeabi-v7a
system-images;android-24;default;x86
system-images;android-24;default;x86_64
system-images;android-24;google_apis;arm64-v8a
system-images;android-24;google_apis;armeabi-v7a
system-images;android-24;google_apis;x86
system-images;android-24;google_apis;x86_64
system-images;android-24;google_apis_playstore;x86
system-images;android-25;android-tv;x86
system-images;android-25;android-wear;armeabi-v7a
system-images;android-25;android-wear;x86
system-images;android-25;google_apis;arm64-v8a
system-images;android-25;google_apis;armeabi-v7a
system-images;android-25;google_apis;x86
system-images;android-25;google_apis;x86_64
同时,another user figured out an ugly hack获取完整软件包名称列表:
我使用了--list --verbose,它列出了它在〜/ .android /
中搜索一些xml文件所以...这个(丑陋的)* nix命令打印出(完整的?)路径列表...(对于在他们对此问题得到合理修复之前偶然发现此线程的其他人...)
grep -Riwo -e "path.*>" ~/.android | awk -F'path="' -F'"' {'print $2'} | sort | uniq
作为参考,这为我提供了以下输出(包括一些垃圾,但我不在乎,因为至少我现在可以看到包名:
/>
add-ons;addon-google_apis-google-10
add-ons;addon-google_apis-google-11
add-ons;addon-google_apis-google-12
add-ons;addon-google_apis-google-13
add-ons;addon-google_apis-google-14
add-ons;addon-google_apis-google-15
add-ons;addon-google_apis-google-16
add-ons;addon-google_apis-google-17
add-ons;addon-google_apis-google-18
add-ons;addon-google_apis-google-19
add-ons;addon-google_apis-google-21
add-ons;addon-google_apis-google-22
add-ons;addon-google_apis-google-23
add-ons;addon-google_apis-google-24
add-ons;addon-google_apis-google-3
add-ons;addon-google_apis-google-4
add-ons;addon-google_apis-google-5
add-ons;addon-google_apis-google-6
add-ons;addon-google_apis-google-7
add-ons;addon-google_apis-google-8
add-ons;addon-google_apis-google-9
add-ons;addon-google_gdk-google-19
add-ons;addon-google_tv_addon-google-12
add-ons;addon-google_tv_addon-google-13
@android:color/black
build-tools;17.0.0
build-tools;18.0.1
build-tools;18.1.0
build-tools;18.1.1
build-tools;19.0.0
build-tools;19.0.1
build-tools;19.0.2
build-tools;19.0.3
build-tools;19.1.0
build-tools;20.0.0
build-tools;21.0.0
build-tools;21.0.1
build-tools;21.0.2
build-tools;21.1.0
build-tools;21.1.1
build-tools;21.1.2
build-tools;22.0.0
build-tools;22.0.1
build-tools;23.0.0
build-tools;23.0.1
build-tools;23.0.2
build-tools;23.0.3
build-tools;24.0.0
build-tools;24.0.1
build-tools;24.0.2
build-tools;24.0.3
build-tools;25.0.0
build-tools;25.0.1
build-tools;25.0.2
category=
cmake;3.6.3155560
docs
emulator
extras;android;gapid;1
extras;android;gapid;3
extras;android;m2repository
extras;google;admob_ads_sdk
extras;google;analytics_sdk_v2
extras;google;auto
extras;google;gcm
extras;google;google_play_services
extras;google;google_play_services_froyo
extras;google;m2repository
extras;google;market_apk_expansion
extras;google;market_licensing
extras;google;play_billing
extras;google;simulators
extras;google;usb_driver
extras;google;webdriver
extras;intel;Hardware_Accelerated_Execution_Manager
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha2
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha3
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha4
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha5
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha6
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha7
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha8
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-alpha9
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta1
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta2
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta3
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4
extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta5
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha2
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha3
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha4
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha5
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha6
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha7
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha8
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-alpha9
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta1
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta2
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta3
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta4
extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.0-beta5
lldb;2.0
lldb;2.1
lldb;2.2
lldb;2.3
M0,0 L24,0 L24,24 L0,24 L0,0 Z
>M12,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z</string>
M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z
M20,11L7.8,11l5.6,-5.6L12,4l-8,8l8,8l1.4,-1.4L7.8,13L20,13L20,11z
>M2,4.27 L19.73,22 L22.27,19.46 L4.54,1.73 L4.54,1 L23,1 L23,23 L1,23 L1,4.27 Z</string>
>M2,4.27 L2,4.27 L4.54,1.73 L4.54,1.73 L4.54,1 L23,1 L23,23 L1,23 L1,4.27 Z</string>
>M3.27,4.27 L19.74,20.74</string>
ndk-bundle
patcher;v4
platforms;android-10
platforms;android-11
platforms;android-12
platforms;android-13
platforms;android-14
platforms;android-15
platforms;android-16
platforms;android-17
platforms;android-18
platforms;android-19
platforms;android-2
platforms;android-20
platforms;android-21
platforms;android-22
platforms;android-23
platforms;android-24
platforms;android-25
platforms;android-3
platforms;android-4
platforms;android-5
platforms;android-6
platforms;android-7
platforms;android-8
platforms;android-9
platform-tools
sources;android-14
sources;android-15
sources;android-16
sources;android-17
sources;android-18
sources;android-19
sources;android-20
sources;android-21
sources;android-22
sources;android-23
sources;android-24
sources;android-25
@string/path_password_eye
@string/path_password_eye_mask_strike_through
@string/path_password_eye_mask_visible
system-images;android-10;default;armeabi-v7a
system-images;android-10;default;x86
system-images;android-10;google_apis;armeabi-v7a
system-images;android-10;google_apis;x86
system-images;android-14;default;armeabi-v7a
system-images;android-15;default;armeabi-v7a
system-images;android-15;default;mips
system-images;android-15;default;x86
system-images;android-15;google_apis;armeabi-v7a
system-images;android-15;google_apis;x86
system-images;android-16;default;armeabi-v7a
system-images;android-16;default;mips
system-images;android-16;default;x86
system-images;android-16;google_apis;armeabi-v7a
system-images;android-16;google_apis;x86
system-images;android-17;default;armeabi-v7a
system-images;android-17;default;mips
system-images;android-17;default;x86
system-images;android-17;google_apis;armeabi-v7a
system-images;android-17;google_apis;x86
system-images;android-18;default;armeabi-v7a
system-images;android-18;default;x86
system-images;android-18;google_apis;armeabi-v7a
system-images;android-18;google_apis;x86
system-images;android-19;default;armeabi-v7a
system-images;android-19;default;x86
system-images;android-19;google_apis;armeabi-v7a
system-images;android-19;google_apis;x86
system-images;android-21;android-tv;armeabi-v7a
system-images;android-21;android-tv;x86
system-images;android-21;default;armeabi-v7a
system-images;android-21;default;x86
system-images;android-21;default;x86_64
system-images;android-21;google_apis;armeabi-v7a
system-images;android-21;google_apis;x86
system-images;android-21;google_apis;x86_64
system-images;android-22;android-tv;armeabi-v7a
system-images;android-22;android-tv;x86
system-images;android-22;default;armeabi-v7a
system-images;android-22;default;x86
system-images;android-22;default;x86_64
system-images;android-22;google_apis;armeabi-v7a
system-images;android-22;google_apis;x86
system-images;android-22;google_apis;x86_64
system-images;android-23;android-tv;armeabi-v7a
system-images;android-23;android-tv;x86
system-images;android-23;android-wear;armeabi-v7a
system-images;android-23;android-wear;x86
system-images;android-23;default;armeabi-v7a
system-images;android-23;default;x86
system-images;android-23;default;x86_64
system-images;android-23;google_apis;armeabi-v7a
system-images;android-23;google_apis;x86
system-images;android-23;google_apis;x86_64
system-images;android-24;android-tv;x86
system-images;android-24;default;arm64-v8a
system-images;android-24;default;armeabi-v7a
system-images;android-24;default;x86
system-images;android-24;default;x86_64
system-images;android-24;google_apis;armeabi-v7a
system-images;android-24;google_apis;x86
system-images;android-24;google_apis;x86_64
system-images;android-25;android-tv;x86
system-images;android-25;android-wear;armeabi-v7a
system-images;android-25;android-wear;x86
system-images;android-25;google_apis;arm64-v8a
system-images;android-25;google_apis;armeabi-v7a
system-images;android-25;google_apis;x86
system-images;android-25;google_apis;x86_64
tools
typeId=
答案 1 :(得分:1)
这是一个提取所有安装的android SDK包而没有垃圾输出的命令:
find ~/.android-sdk/ -name package.xml -exec sh -c 'eval $(xmllint --xpath "//*[local-name()='\'localPackage\'']/@path" $0) && echo $path' {} \;