Search code examples
macosandroid-sdk-tools

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?


Solution

  • 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=