【问题标题】:"android: can't find sdkmanager.jar"“安卓:找不到 sdkmanager.jar”
【发布时间】:2017-05-01 14:32:21
【问题描述】:

我从 https://developer.android.com/studio/index.html 下载了 Android SDK 工具,它给了我一个名为 tools_r25.2.3-linux.zip 的 zip 文件。解压后,它生成了一个名为 tools 的文件夹,其中包含 sdkmanager android。当我尝试运行它时,它失败并显示上面的错误消息。

我将ANDROID_HOME设置为tools目录,但还是失败了。

【问题讨论】:

    标签: android path


    【解决方案1】:

    事实证明,ANDROID_HOME 需要设置为 parent 目录,其中包含 zip 文件(名为 tools 的单个目录)的内容。一旦我这样做了,它工作得很好。这似乎令人困惑,值得添加到 stackoverflow。

    【讨论】:

    • 我在code.google.com/p/android/issues/detail?id=230705 请求改进这条基本上没有帮助的错误消息。
    • 确认这对我有用;我创建了 ~/Android 并将工具目录放在其中。现在 PATH 设置为: export ANDROID_HOME=~/Android export PATH=$ANDROID_HOME:$ANDROID_HOME/tools/bin:$PATH
    • 事实证明,ANDROID_HOME 并不是真正需要的。将tools 重命名为android-tools 确实是罪魁祸首。
    • 它们是不同的问题,是的,但我最终遇到了这两个问题。
    【解决方案2】:

    压缩文件可以在任何地方打开。重要的是保持名称“工具”及其文件完好无损。

    tools 父目录运行 android 程序:

    $ ./tools/android
    

    这将使用许多文件夹和工具更新工具父目录(运行 ./tools/android 的那个目录)。

    我将此父目录命名为 sdk。我还将整个目录(命名为sdk)放在以下载版本名称命名的文件夹中。

    现在为了我的编程环境的一致性,我绑定安装这个sdk/opt目录中的一个文件夹,这样它就可以在系统范围内使用。

    层次结构变为:

    /home/userid/android_r25.2.3/sdk
    

    现在我在/opt/ 目录中创建一个名为/opt/android/sdk 的文件夹。

    我的/etc/fstab 条目变为:

    /home/userid/android_r25.2.3/sdk  /opt/android/sdk none bind
    

    它安装有:

    $ sudo mount /opt/android/sdk
    

    唯一会随着新版本或新安装而改变的是 zip 文件的打开位置。将 /home/userid/android_r25.2.3/sdk 替换为您提取 zip 文件的位置,无需更改任何其他内容。

    PATH 变量将始终变为:

    $ export PATH=$PATH:/opt/android/sdk/tools:/opt/android/sdk/platform-tools
    

    当然,eclipse android的配置变成:

    /opt/android/sdk
    

    将此作为一致的程序使用,可以非常无缝地在新机器上重新安装和安装...只有一个变量可能会更改,这就是解压缩包的位置。

    【讨论】:

      【解决方案3】:

      另一个问题是,必须保持unzip 结果tools 的名称不变并将其移动到要创建的目录中以允许任何版本管理(或者将其保留在您的主目录中,如果像“工具”这样的无信息目录名称不会打扰您)。然后像@JesseW 解释的那样设置ANDROID_HOME

      【讨论】:

      • 请注意,如果将其保留在主目录中并更新 sdk,则会在主目录中创建其他目录,这可能是您不想要的。
      【解决方案4】:

      将工具解压缩到例如~/android-sdk,所以它会住在~/android-sdk/tools

      然后在~/.bashrc

      export ANDROID_HOME="$HOME/android-sdk" ANDROID_TOOLS="$ANDROID_HOME/tools" ANDROID_PLATFORM_TOOLS="$ANDROID_HOME/platform-tools" export PATH=${PATH}:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS;

      然后运行sdkmanager

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-26
        • 2012-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多