Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Truncated Android SDK package paths from sdkmanager CLI

./sdkmanager --list > tmp.txt gives me a .txt file like this:

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 

I want to install from some of these paths using ./sdkmanager --install <path>, but I can't, because the paths are truncated. Note I am using the standard Terminal app on macOS, if that matters.

How can I get the full paths to these packages?

like image 958
theguy Avatar asked Feb 25 '17 18:02

theguy


1 Answers

This is a known issue. On Jan 19, 2017 a Googler responded with:

Thank you for suggesting this enhancement. We value the feedback from our community and hope to review your suggestion in an upcoming sprint.

Updated answer (sdkmanager >= 26.0.1)

As per the comment from @albodelu, this can now be done via:

sdkmanager --list --verbose

Which on my machine gives the following:

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 

If that is too verbose, then you could do something like the following:

sdkmanager --list --verbose | grep -vP "^Info:|^\s|^$|^done$"

Which uses perl-compatible regular expressions (-P) and a grep inverse matches (-v) to remove all lines starting with Info:, starting with whitespace (^\s), empty lines (^$), and lines which only include the word 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 

Old answer

In the mean time, another user figured out an ugly hack to get a list of full package names:

I used --list --verbose and it listed that it was searching some xml files in ~/.android/

So... this (ugly) *nix command prints out the (full?) list of the paths... (for anyone else who stumbles upon this thread before they get a sensible fix to this issue...)

grep -Riwo -e "path.*>" ~/.android | awk -F'path="' -F'"' {'print $2'} | sort | uniq

For reference, that gives the following output for me (including a bit of junk, but I don't care because at least I can see package names now:

/> 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= 
like image 118
Peter Serwylo Avatar answered Sep 18 '22 15:09

Peter Serwylo