无法执行 apkanalyzer

ole*_*gst 6 android android-sdk-tools android-sdk-manager

我正在尝试从命令行apkanalyzer从 Android SDK 工具运行。但是,它不会启动并打印以下异常:

Exception in thread "main" java.lang.IllegalStateException: The tools directory property is not set, please make sure you are executing apkanalyzer. Got /home/user/Programs/android-sdk-linux/tools
    at com.android.tools.apk.analyzer.ApkAnalyzerCli.getAaptInvokerFromSdk(ApkAnalyzerCli.java:266)
    at com.android.tools.apk.analyzer.ApkAnalyzerCli.main(ApkAnalyzerCli.java:123)
Run Code Online (Sandbox Code Playgroud)

我的命令行是:

~/Programs/android-sdk-linux$ tools/bin/apkanalyzer apk summary ~/projects/mservice.apk
Run Code Online (Sandbox Code Playgroud)

ANDROID_SDK_ROOT 设置。

这是我的安装(sdkmanager --list):

Installed packages:=====================] 100% Computing updates...             
  Path                 | Version | Description                    | Location             
  -------              | ------- | -------                        | -------              
  build-tools;28.0.3   | 28.0.3  | Android SDK Build-Tools 28.0.3 | build-tools/28.0.3/  
  build-tools;29.0.2   | 29.0.2  | Android SDK Build-Tools 29.0.2 | build-tools/29.0.2/  
  platform-tools       | 29.0.6  | Android SDK Platform-Tools     | platform-tools/      
  platforms;android-28 | 6       | Android SDK Platform 28        | platforms/android-28/
  platforms;android-29 | 4       | Android SDK Platform 29        | platforms/android-29/
  tools                | 1.0.0   | Android SDK Tools 1            | tools/               
Run Code Online (Sandbox Code Playgroud)

怎么了?

小智 1

您的工具版本是非常旧的版本。

它至少应大于 26.0

使用

sdkmanager --install tools
Run Code Online (Sandbox Code Playgroud)