ARM Chromebook 上的 Android 开发环境?
Posted
技术标签:
【中文标题】ARM Chromebook 上的 Android 开发环境?【英文标题】:Android Development Environment on an ARM Chromebook? 【发布时间】:2017-05-05 05:17:55 【问题描述】:我多次尝试在ARM Chromebook (C100P) 上安装和使用android Studio,但安装总是失败并出现failed to run mksdcard tool
错误。我读到这是因为 Android Studio 依赖于与 ARM 处理器架构不兼容的本机二进制文件;即使尝试了各种 hack 或只是尝试单独使用库,我仍然无法在我的 ARM Chromebook 上设置 Android 开发环境。
【问题讨论】:
请注意,如果您的 Chromebook 运行 Android 版 Google Play,您可以运行此线程引用的 AIDE (play.google.com/store/apps/details?id=com.aide.ui&hl=en):reddit.com/r/chromeos/comments/4wewyr/… 【参考方案1】:原生结论:
我得出的结论是,你真的做不到。 Android 的编译工具依赖于原生库;具体来说,lib32stdc++6
和 lib32z1
。这些依赖于 32 位 Intel 二进制文件,因此在 Google 开始进行一些更改之前,不可能在 ARM 处理器上执行这些指令字(即使支持 i386 多体系结构)。
幸运的是,我在这里提出了一种解决方法。我们将把计算委托给虚拟机; 与这些二进制文件兼容。它将是免费和安全,因此您不必担心谁可以访问您的源代码。我们将使用Google App Engine 来实现这一点。
解决方法:
假设我们使用全新安装,我将开始本教程。
首先,下载latest Crouton installer,这样我们就有了一个成熟的 Ubuntu 发行版可以使用。在 Chromebook shell(Ctrl + Alt + T 并输入 shell
)中,执行安装程序。我选择安装没有窗口管理器的最新版本的 Ubuntu Xenial。我还启用了与 Crouton Chrome 扩展的集成以启用共享剪贴板。
sudo sh ~/Downloads/crouton -r xenial -t touch,audio,keyboard,extension
接下来,enter-chroot
进入 Ubuntu,并安装 curl 和 python:
sudo apt-get update
sudo apt-get install curl python git
使用 curl 获取 Google Cloud SDK。您可以将其解压到默认位置~/google-cloud-sdk
,或者您想要的其他目录。
curl https://sdk.cloud.google.com | bash
~/.bashrc
文件的更新。
重新启动外壳。使用logout
或exit
,然后使用sudo enter-chroot
重新输入。这使您可以从命令行访问您的 Google Cloud SDK 安装。
使用您的关联 Google 帐户使用 gcloud auth login
登录到 Google Cloud SDK。这将需要您做两件事;首先,启用 SDK 访问您的 Google 帐户。其次,您需要从浏览器中提供的网址复制验证密钥,然后将其粘贴回控制台。
登录Google Cloud Console。
创建一个新项目,例如android-compile-worker,并在该项目中创建一个新的存储库,例如编译工具。我们将在此存储库中安装 Android SDK 工具。当我们这样做时,实际上是将它们放置在可以正确解释其使用的本机 32 位二进制文件的虚拟机中。
在您的网络浏览器中启动 Google Cloud Console 的终端。接下来,在 Google Cloud Console 终端和本地 Chromebook shell 中克隆您的存储库。
gcloud init
gcloud config set project project-name-here
gcloud source repos clone repo-name-here
wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip
unzip tools_r25.2.3-linux.zip
现在我们已成功将 Android SDK 工具提取到 Google Cloud 机器上;将 PATH 变量导出到此位置以启用它。
export ANDROID_HOME=path/to/unzipped/tools
安装那些我们无法在笔记本电脑上使用的讨厌的二进制文件。由于当您的实例超时时此安装会丢失,您可以将命令附加到您的 .bashrc
以在新服务器实例之间保持安装。
sudo apt-get install lib32stdc++ lib32z1
回到您的 Chromebook,安装以下实用程序以启用 Android 设备编程。
sudo apt-get install android-sdk-platform-tools-common android-tools-adb android-tools-adbd android-tools-fastboot
设计流程
这就是一切!如果您正确执行了这些步骤,您将成功配置 Google 的一台虚拟机以进行 Android 编译。通过 Google Cloud Console 终端,可以为您希望编译的各种 API 级别添加 Android 平台支持。
在这里,我们添加 API Level 25 和 Android 支持存储库,如下所示:
./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 master
和 git push origin master
,您可以将在 Chromebook 上开发的代码上传到可由 Android SDK 编译的代码库。您可以通过执行项目的本地 gradlew
文件来做到这一点,即 ./gradlew build
。
编译后,您可以pull
将生成的二进制文件返回到您的开发机器上,并使用 Android 设备桥 (adb
) 和 adb install path/to/apk
配置连接的 Android 设备。
【讨论】:
以上是关于ARM Chromebook 上的 Android 开发环境?的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio 无法在配备 32 位 Ubuntu 12.04 w/JDK-8 的三星 ARM Chromebook 上加载
通过 Android 应用程序的 Chromebook 规范
未定义的参考在 arm chromebook 上编译 taskwarrior