检查是否以编程方式安装了Android SDK包

时间:2017-05-19 15:01:01

标签: android android-sdk-tools

我正在替代GUI独立SDK Manager(它已经在Android SDK 25上使用),我在Android Studio中找到了检索包所需的XML。

{ provide:MovieService }

我想查看已安装的软件包,可用于更新的软件包以及未安装但可供下载的软件包。

编辑:我知道如何解析,我完全不确定providers: [ { provide: ActivatedRoute, useValue: { params: Observable.of({ movieName: 'Bah' }) } }, MovieService ] 属性是否可靠。

2 个答案:

答案 0 :(得分:4)

您无需重新发明轮子。我会使用新的sdkmanager并为其添加GUI。

仅使用sdkmanager,新命令行工具和parse the output。来自here的输出。

This simple command line列出已安装的软件包:

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

您可以比较可用软件包的完整列表(由sdkmanager返回)和已安装软件包的列表(由此命令或sdkmanager返回),然后在此信息上添加GUI。

使用sdkmanager --list --verbose解析的替代输出解释herehere

./sdkmanager --list --verbose > tmp.txt

Info: Parsing /Users/albodelu/Library/Android/sdk/build-tools/19.1.0/package.xml
Info: Parsing /Users/albodelu/Library/Android/sdk/build-tools/21.1.2/package.xml
...
Info: Parsing /Users/albodelu/Library/Android/sdk/system-images/android-25/google_apis/x86_64/package.xml
Info: Parsing /Users/albodelu/Library/Android/sdk/tools/package.xml
Installed packages:
--------------------------------------
build-tools;19.1.0
    Description:        Android SDK Build-Tools 19.1
    Version:            19.1.0
    Installed Location: /Users/albodelu/Library/Android/sdk/build-tools/19.1.0

build-tools;21.1.2
    Description:        Android SDK Build-Tools 21.1.2
    Version:            21.1.2
    Installed Location: /Users/albodelu/Library/Android/sdk/build-tools/21.1.2
...
system-images;android-25;google_apis;x86_64
    Description:        Google APIs Intel x86 Atom_64 System Image
    Version:            4
    Installed Location: /Users/albodelu/Library/Android/sdk/system-images/android-25/google_apis/x86_64

tools
    Description:        Android SDK Tools
    Version:            26.0.2
    Installed Location: /Users/albodelu/Library/Android/sdk/tools

Available Packages:
--------------------------------------
add-ons;addon-google_apis-google-15
    Description:        Google APIs
    Version:            3

add-ons;addon-google_apis-google-16
    Description:        Google APIs
    Version:            4
...
system-images;android-25;google_apis;x86
    Description:        Google APIs Intel x86 Atom System Image
    Version:            4

system-images;android-25;google_apis;x86_64
    Description:        Google APIs Intel x86 Atom_64 System Image
    Version:            4

tools
    Description:        Android SDK Tools
    Version:            26.0.2
    Dependencies:
        patcher;v4
        emulator
        platform-tools Revision 20

done

答案 1 :(得分:3)

您必须完成两项单独的工作:

  1. 解析来自(https://dl.google.com/android/repository/repository2-1.xml
  2. 等网址的xmls
  3. 读取SDK路径中每个文件夹中的文件说明
  4. 例如: 在我的笔记本电脑的C:\Program Files (x86)\Android\android-sdk\platforms\android-23中,有一个source.properties名称的文件,其中包含以下内容:

    Pkg.Desc=Android SDK Platform 6.0
    Pkg.UserSrc=false
    Platform.Version=6.0
    Platform.CodeName=
    Pkg.Revision=3
    AndroidVersion.ApiLevel=23
    Layoutlib.Api=16
    Layoutlib.Revision=3
    Platform.MinToolsRev=22
    

    每个文件夹中都有source.properties个文件。 我希望这可以帮助你;)