在ARM架构的Chromebook上开发Android?

6
我已经多次尝试在ARM Chromebook (C100P)上安装和使用Android Studio,但安装总是失败并显示failed to run mksdcard tool错误。我读到这是因为Android Studio依赖于与ARM处理器架构不兼容的本地二进制文件。即使我尝试了各种黑客技巧或仅尝试使用库,我仍然无法在我的ARM Chromebook上设置Android开发环境。

1个回答

7

结论:

我得出的结论是你真的做不到。Android的编译工具依赖于本地库,具体来说是 lib32stdc++6lib32z1。这些库依赖于32位英特尔二进制文件,因此在ARM处理器上执行这些指令是不可能的(即使使用i386多架构支持)。除非Google开始做出一些改变。

幸运的是,我在这里提供一个解决方法。我们将把计算委托给一个虚拟机;一个与这些二进制文件兼容的虚拟机。它将是免费安全的,所以您不必担心谁可以访问您的源代码。我们将使用Google App Engine实现这一点。

解决方案:

我将从假定我们使用新安装开始着手介绍本教程。

  1. 首先,下载最新的 Crouton 安装程序,这样我们就有一个完整的 Ubuntu 发行版来工作了。在 Chromebook 的 shell 中(Ctrl + Alt + T 并输入 shell),执行安装程序。我选择安装最新版本的 Ubuntu——Xenial,并没有安装窗口管理器。我还启用了与 Crouton Chrome 扩展的集成,以启用共享剪贴板。

    sudo sh ~/Downloads/crouton -r xenial -t touch,audio,keyboard,extension

  2. 接下来,enter-chroot 进入 Ubuntu,并安装 curl 和 python:

    sudo apt-get update sudo apt-get install curl python git

  3. 使用 curl 获取 Google Cloud SDK。您可以将其提取到默认位置 ~/google-cloud-sdk 或其他目录中。

    curl https://sdk.cloud.google.com | bash

  4. 进入 Google Cloud SDK 目录并执行安装程序。允许它更新您的 $PATH 变量,并允许更新您的 ~/.bashrc 文件。
  5. 重启 shell。使用 logoutexit,然后使用 sudo enter-chroot 重新进入。这样您就可以从命令行访问 Google Cloud SDK 安装了。
  6. 使用 gcloud auth login 登录关联的谷歌帐户。这将要求您执行两个操作:首先,启用 SDK 访问您的 Google 帐户。其次,您需要从提供的网址处将一个验证密钥复制到浏览器中,然后将其粘贴回控制台中。
  7. 登录到 Google Cloud 控制台
  8. 创建一个新项目,例如 android-compile-worker,并在该项目中创建一个新存储库,例如 compilation-tools。我们将在此存储库中安装 Android SDK 工具。这样做实际上是将它们放置在一个虚拟机内,该虚拟机可以正确地解释它使用的本机 32 位二进制文件。
  9. 在 Google Cloud 控制台的 web 终端中启动终端。接下来,在 Google Cloud Console 终端和您的本地 Chromebook shell 中克隆存储库。

    gcloud init

    gcloud config set project project-name-here

    gcloud source repos clone repo-name-here

  10. 在 Google Cloud Console 终端中,移动到您创建的存储库并下载并解压最新版本的 Android 工具 SDK。 wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip unzip tools_r25.2.3-linux.zip
  11. 现在我们已经成功将 Android SDK 工具提取到 Google Cloud 机器上了。导出一个路径变量到这个位置以启用它的使用。 export ANDROID_HOME=path/to/unzipped/tools
  12. 安装我们无法在笔记本电脑上使用的那些讨厌的二进制文件。由于此安装会在实例超时后丢失,因此您可以将命令附加到您的 .bashrc 中,以使安装随着新服务器实例的出现

    设计流程

    以上就是全部内容!如果您正确地按照这些步骤操作,您将成功地为Android编译配置了谷歌的虚拟机。通过Google Cloud控制台终端,可以添加Android平台支持以便对您想要编译的各种API级别提供支持。

    在此,我们添加API Level 25和Android Support Repository,方法如下:

    ./android update sdk --filter android-25 --no-ui

    ./android update sdk -u -a -t android-25

    ./android update sdk --all --filter "extra" --no-ui

    现在,您可以使用git pull origin mastergit push origin master 将您在Chromebook上开发的代码上传到仓库,然后可由Android SDK进行编译。您可以通过执行项目本地的gradlew文件来实现,即./gradlew build.

    一旦编译完成,您可以使用Android设备桥接程序(adb)连接Android设备,并使用adb install path/to/apk来安装生成的二进制文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接