【问题标题】:Error while running jar that uses adb path while executing在执行时运行使用 adb 路径的 jar 时出错
【发布时间】:2011-10-08 13:44:23
【问题描述】:

我编写了一个 java 代码,它在内部启动一个进程来启动一个 avd 并获取该进程。我已经在本地 Windows 7 和 ubuntu 11.04 上测试了代码。在这两种本地环境中都可以正常工作。

当我在我的 aws 实例上上传相同的 jar 文件时,我收到以下错误: 12:30:38 E/adb:获取 adb 版本失败:无法运行程序“/home/ubuntu/android-sdk-linux_86/platform-tools/adb”:java.io.IOException: error=2, No such文件或目录

虽然 /home/ubuntu/android-sdk-linux_86/platform-tools/adb 存在。

我遇到过很多类似的问题,但没有一个人讨论过这个问题。

我已经按照一些网站的建议更新了我的 openJDK,但我仍然面临同样的问题。

【问题讨论】:

    标签: java android android-emulator


    【解决方案1】:

    在 Linux 系统上,如果您想执行任何可执行文件,请添加前缀 "./"

    你的情况就是这样

    cd /home/ubuntu/android-sdk-linux_86/platform-tools/ 
    

    然后"./adb"

    【讨论】:

    • /the/path/to/your/executablecd /the/path/to/your/ 后跟 ./executable 是一回事。点是当前目录的简写,./executable 与输入完整路径相同。两者都有效。
    • 有时它在 Ubuntu 中不起作用,您必须导航到目录(包含可执行文件)然后执行“./executableName”
    • 正如alextsc所说的一样,但我都试过了......他们都给了我同样的错误:(
    • 我无法在内部代码中导航,我调用 Runtime.getRuntime().exec("/home/ubuntu/android-sdk-linux_86/platform-tools/adb ");
    【解决方案2】:

    问题与 32 位库有关。 我的 aws ubuntu 操作系统是 64 位的,而我的 jar 是为 32 位架构编译的,所以我必须安装 ia32-libs,一切都开始正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 2023-04-09
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2015-07-13
      相关资源
      最近更新 更多