Linux 无法在ARMv7处理器Ubuntu 14.04上运行mksdcard sdk工具

Linux 无法在ARMv7处理器Ubuntu 14.04上运行mksdcard sdk工具,linux,android-studio,armv7,crouton-os,Linux,Android Studio,Armv7,Crouton Os,当我尝试在我的Linux笔记本电脑上安装Android Studio时,我从搜索中发现“无法运行mksdcard工具”,这通常是由于64位Linux上缺少32位兼容库造成的,但是我在ARMv7处理器上运行它,在Chromebook上使用Linux。我已尝试安装以i386结尾的推荐软件包,但命令行返回: 正在阅读软件包列表。。。完成 构建依赖关系树 正在读取状态信息。。。完成 E:找不到包[此处包的名称] E:无法通过正则表达式“[程序包名称]”找到任何程序包 有人知道是什么原因造成的吗?我如何修

当我尝试在我的Linux笔记本电脑上安装Android Studio时,我从搜索中发现“无法运行mksdcard工具”,这通常是由于64位Linux上缺少32位兼容库造成的,但是我在ARMv7处理器上运行它,在Chromebook上使用Linux。我已尝试安装以i386结尾的推荐软件包,但命令行返回:

正在阅读软件包列表。。。完成
构建依赖关系树
正在读取状态信息。。。完成
E:找不到包[此处包的名称]
E:无法通过正则表达式“[程序包名称]”找到任何程序包


有人知道是什么原因造成的吗?我如何修复它?

我发现了一个解决方法

经过一点搜索,我发现我们可以自己为ARMv7平台创建该工具的可执行二进制文件!胡比

  • 前往并获取源代码,
    mksdcard.c
    。将此文件下载到您想下载的任何位置,但请确保您将其作为
    mksdcard.c
    下载,而不是作为浏览器可能尝试的
    mksdcard.c.txt
    下载。如果不小心保存了错误的文件名,您可以随时在以后重命名该文件
  • chroot
    环境中,前往下载文件的目录
  • 确保安装了
    gcc
    编译工具。尝试运行
    gcc-v
    ,查看您安装的gcc版本。如果这不起作用,您需要通过
    sudo apt get install GCC
    安装GCC
  • 运行gcc-o mkdscard mksdcard.c。这使用GCC将源代码编译成可以执行的东西。编译完成后,您可以使用
    /mkscard
    让Linux执行二进制文件,以验证它是否工作
  • 导航到您的Android SDK工具目录。这通常是
    ~/Downloads/Android/Sdk/tools
    。通过运行
    ls
    ,您将列出文件并找到Linux发行版不了解如何运行的
    mksdcard
    版本。(在此文件上运行
    /mksdcard
    将确认这一点。)
  • 将损坏的二进制文件备份到某个位置,然后删除
    tools
    文件夹中的副本。(我在Android SDK工具文件夹中创建了一个
    backups/
    目录,将其移动到其中。)
  • 在目录中,使用
    rm-r mksdcard
    删除旧的
    mksdard
    二进制文件
  • 最后,复制您的兼容二进制文件以取代它,例如
    cp~/Downloads/mksdcard.
    (将我们创建的
    mksdcard
    二进制文件复制到当前目录
    ,Android SDK工具文件夹。)
  • 回到你的Android Studio安装程序。在抱怨
    mksdcard
    失败的对话框中,点击重试,安装应继续。完成后,请确保应用环境推荐的任何更新。享受吧
    对于在ARM32上运行Ubuntu的Android Studio的较新版本,如3.1 C4,您还需要将mksdcard放入~/Downloads/Android/Sdk/emulator(参考类似于Alext T的路径)

    我不确定这个问题是否足够清楚,因为对我来说,它看起来像是你试图将32位x86库放在32位ARM Chromebook上,因为64位。。。有些东西…,这毫无意义。除非你可能因为,呃,原因试图在ARM主机系统上交叉编译x86代码,但这是一件非常不寻常的事情。我对linux比较陌生,所以我尝试向其他有类似问题的用户推荐软件包,以便在我尝试安装安卓studio时修复错误,但试图这样做是行不通的。从你的反应来看,我认为这不是正确的道路。我主要是想让程序运行,比其他任何事情都重要。很抱歉给您带来任何困惑。好的,您安装Android Studio的确切位置是哪里?从网站上下载几乎肯定是不可能的——如果其中的一部分由于缺少32位本机库而在64位x86上失败,这意味着它们包含32位x86代码,而这些代码根本不会在ARM机器上运行。除非您已经找到了现成的ARM版本,否则您可能正在考虑自己从源代码构建它(或者至少是本机代码部分)。我正在遵循上述建议的程序。将原始可执行文件mksdcard重命名为mksdcard.txt。下载并将mksdcard.c放入../sdk/tools/中,并使用“gcc-o mkdscard mksdcard.c”进行编译。它创建了可执行的二进制mksdcard。但是,获取异常bashc::mksdcard:无法执行二进制文件。请引导我!