28 votes

Chemins des paquets Android SDK tronqués à partir de l'interface CLI sdkmanager

./sdkmanager --list > tmp.txt me donne un fichier .txt comme celui-ci :

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

Je veux installer à partir de certains de ces chemins en utilisant ./sdkmanager --install <path> mais je ne peux pas, car les chemins sont tronqués. Notez que j'utilise l'application Terminal standard sur macOS, si cela a de l'importance.

Comment puis-je obtenir les chemins complets de ces paquets ?

53voto

Peter Serwylo Points 657

Il s'agit d'un problème connu . Le 19 janvier 2017, un Googler a répondu par :

Merci d'avoir suggéré cette amélioration. Nous apprécions les commentaires de notre communauté et espérons examiner votre suggestion lors d'un prochain sprint.

Réponse mise à jour (sdkmanager >= 26.0.1)

Conformément au commentaire de @albodelu, cela peut maintenant être fait via :

sdkmanager --list --verbose

Ce qui, sur ma machine, donne le résultat suivant :

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

Si cela est trop verbeux, vous pouvez faire quelque chose comme ce qui suit :

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

qui utilise des expressions régulières compatibles avec perl ( -P ) et un grep inverse correspond ( -v ) pour supprimer toutes les lignes commençant par Info: en commençant par les espaces ( ^\s ), des lignes vides ( ^$ ), et les lignes qui ne comprennent que le mot 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

Ancienne réponse

Pendant ce temps, un autre utilisateur a trouvé un horrible hack pour obtenir une liste des noms complets des paquets :

J'ai utilisé --list --verbose et il a indiqué qu'il recherchait des fichiers xml dans ~/.Android/.

Donc... cette (vilaine) commande *nix affiche la liste (complète ?) des chemins... (pour tous ceux qui tomberaient sur ce fil de discussion avant d'avoir obtenu une solution raisonnable à ce problème...)

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

Pour référence, cela donne la sortie suivante pour moi (y compris un peu de déchets, mais je m'en moque car au moins je peux voir les noms des paquets maintenant :

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

1voto

BitByteDog Points 29

Voici une commande qui permet d'extraire tous les paquets Android SDK installés sans déchets :

find ~/.android-sdk/ -name package.xml -exec sh -c 'eval $(xmllint --xpath "//*[local-name()='\'localPackage\'']/@path" $0) && echo $path' {} \;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X