“apkanalyzer”不被识别为内部或外部的命令

问题描述 投票:-2回答:6

我经常比较的生产版本我新建的apk大小和我期待的选项来自动执行此活动,使得它比较新的和督促APK大小并报告我。我知道Android Studio中的APK分析的,但我想,使用命令行工具来完成。这doc列出apkanalyzer,但在运行此命令的用法

apkanalyzer -h apk file-size myapk.apk

它说“‘apkanalyzer’不被识别为一个内部或外部的命令,可操作的程序或批处理文件。”虽然我已经设置了环境路径\ Android的\ SDK \工具\ bin中。

不知道为什么命令行是不承认这个命令,你可以让我知道我可能出了问题或有任何其他方式使用命令行来检查的APK文件的大小?

感谢提前任何帮助。

android apk adb command-line-tool
6个回答
5
投票

apkanalyzer是UNIX shell脚本,在这里转换为Windows批处理脚本,请确保更改APP_HOMECLASSPATH以符合你的配置。它保存为apkanalyzer.cmd

@echo off

::##############################################################################
::##
::##  apkanalyzer start up script for Windows
::##
::##  converted by ewwink
::##
::##############################################################################

::Attempt to set APP_HOME

SET SAVED=%cd%
SET APP_HOME=C:\android\sdk\tools
SET APP_NAME="apkanalyzer"

::Add default JVM options here. You can also use JAVA_OPTS and APKANALYZER_OPTS to pass JVM options to this script.
SET DEFAULT_JVM_OPTS=-Dcom.android.sdklib.toolsdir=%APP_HOME%

SET CLASSPATH=%APP_HOME%\lib\dvlib-26.0.0-dev.jar;%APP_HOME%\lib\util-2.2.1.jar;%APP_HOME%\lib\jimfs-1.1.jar;%APP_HOME%\lib\annotations-13.0.jar;%APP_HOME%\lib\ddmlib-26.0.0-dev.jar;%APP_HOME%\lib\repository-26.0.0-dev.jar;%APP_HOME%\lib\sdk-common-26.0.0-dev.jar;%APP_HOME%\lib\kotlin-stdlib-1.1.3-2.jar;%APP_HOME%\lib\protobuf-java-3.0.0.jar;%APP_HOME%\lib\apkanalyzer-cli.jar;%APP_HOME%\lib\gson-2.3.jar;%APP_HOME%\lib\httpcore-4.2.5.jar;%APP_HOME%\lib\dexlib2-2.2.1.jar;%APP_HOME%\lib\commons-compress-1.12.jar;%APP_HOME%\lib\generator.jar;%APP_HOME%\lib\error_prone_annotations-2.0.18.jar;%APP_HOME%\lib\commons-codec-1.6.jar;%APP_HOME%\lib\kxml2-2.3.0.jar;%APP_HOME%\lib\httpmime-4.1.jar;%APP_HOME%\lib\annotations-12.0.jar;%APP_HOME%\lib\bcpkix-jdk15on-1.56.jar;%APP_HOME%\lib\jsr305-3.0.0.jar;%APP_HOME%\lib\explainer.jar;%APP_HOME%\lib\builder-model-3.0.0-dev.jar;%APP_HOME%\lib\baksmali-2.2.1.jar;%APP_HOME%\lib\j2objc-annotations-1.1.jar;%APP_HOME%\lib\layoutlib-api-26.0.0-dev.jar;%APP_HOME%\lib\jcommander-1.64.jar;%APP_HOME%\lib\commons-logging-1.1.1.jar;%APP_HOME%\lib\annotations-26.0.0-dev.jar;%APP_HOME%\lib\builder-test-api-3.0.0-dev.jar;%APP_HOME%\lib\animal-sniffer-annotations-1.14.jar;%APP_HOME%\lib\bcprov-jdk15on-1.56.jar;%APP_HOME%\lib\httpclient-4.2.6.jar;%APP_HOME%\lib\common-26.0.0-dev.jar;%APP_HOME%\lib\jopt-simple-4.9.jar;%APP_HOME%\lib\sdklib-26.0.0-dev.jar;%APP_HOME%\lib\apkanalyzer.jar;%APP_HOME%\lib\shared.jar;%APP_HOME%\lib\binary-resources.jar;%APP_HOME%\lib\guava-22.0.jar

SET APP_ARGS=%*
::Collect all arguments for the java command, following the shell quoting and substitution rules
SET APKANALYZER_OPTS=%DEFAULT_JVM_OPTS% -classpath %CLASSPATH% com.android.tools.apk.analyzer.ApkAnalyzerCli %APP_ARGS%

::Determine the Java command to use to start the JVM.
SET JAVACMD="java"
where %JAVACMD% >nul 2>nul
if %errorlevel%==1 (
  echo ERROR: 'java' command could be found in your PATH.
  echo Please set the 'java' variable in your environment to match the
  echo location of your Java installation.
  echo.
  exit /b 0
)

:: execute apkanalyzer

%JAVACMD% %APKANALYZER_OPTS%

1
投票

这意味着,apkanalyzer不会在你的SDK路径存在。

要下载它,只是得到了SDK管理器,点击Android SDK工具,然后单击确定以继续并下载缺少的工具。

SDK manager


1
投票

APKAnalyzer tool is fully loaded with the Android Studio.

APK Analyzer工具是在Android Studio中https://developer.android.com/studio/build/apk-analyzer.html可用。

大多数可执行的命令选项都只是在Android Studio中提供良好的UI使用。


0
投票

安装在我的窗户apkanalyzer文件(没有扩展名)在我的SDK>工具>仓10件是Unix shell脚本。 Windows无法将此文件识别为有效的命令。

这似乎是在windows中的错误安装Android SDK工具26.1.1的。


0
投票

正如其他人所说,确保你已经通过SDK Manager安装的Android SDK工具。他们应该在<your_sdk_root>/tools/bin显示出来。很久以前我加<your_sdk_root>/tools$PATH在我的〜/ .bash_profile中,但从来没有加入<your_sdk_root>/tools/bin;显然我错过了注意,作为SDK Tools, Revision 25.3.0工具被废弃或以其他方式移动到有其他地方。

又见https://developer.android.com/studio/command-line/对常规工具的详细信息,构建平台,以及仿真工具。


0
投票

我已经提交一个bug报告给谷歌:https://issuetracker.google.com/issues/124064881

显然,它的分解在Windows上。

© www.soinside.com 2019 - 2024. All rights reserved.