我尝试了多次安装和使用安卓工作室 https://developer.android.com/studio/index.html on an ARM Chromebook (C100P) https://archlinuxarm.org/platforms/armv7/rockchip/asus-chromebook-flip-c100p,但安装总是失败failed to run mksdcard tool
错误。我读到,发生这种情况是因为 Android Studio 依赖于与 ARM 处理器架构不兼容的本机二进制文件;即使在尝试了各种破解或只是尝试单独使用这些库之后,我仍然无法在我的 ARM Chromebook 上设置 Android 开发环境。
本机结论:
我得出的结论是你真的不能。 Android的编译工具依赖于原生库;具体来说,lib32stdc++6
and lib32z1
。这些依赖于 32 位 Intel 二进制文件,因此在 Google 开始做出一些更改之前,不可能在 ARM 处理器上执行这些指令字(即使具有 i386 多架构支持)。
幸运的是,我在这里提出一个解决方法。我们将把计算委托给虚拟机;一个is与这些二进制文件兼容。这将是free and secure,因此您不必担心谁可以访问您的源代码。我们将使用以下方法来实现这一目标谷歌应用引擎 https://cloud.google.com/appengine/docs.
解决方法:
我将假设我们使用全新安装来开始本教程。
-
首先,下载最新的 Crouton 安装程序 https://github.com/dnschneid/crouton/blob/master/installer/crouton所以我们有一个成熟的 Ubuntu 发行版可以使用。在 Chromebook shell 中 (Ctrl + Alt + T并输入shell
),执行安装程序。我选择安装最新版本的 Ubuntu Xenial,不带窗口管理器。我还启用了与 Crouton Chrome 扩展的集成,以启用共享剪贴板。
sudo sh ~/Downloads/crouton -r xenial -t touch,audio,keyboard,extension
-
Next, 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
- 导航到您的 Google Cloud SDK 目录并执行安装程序。允许它更新您的 $PATH 变量并启用对您的
~/.bashrc
file.
- 重新启动外壳。使用
logout
or exit
,然后使用重新输入sudo enter-chroot
。这使得您可以从命令行访问您安装的 Google Cloud SDK。
- 使用关联的 Google 帐户登录 Google Cloud SDK
gcloud auth login
。这需要你做两件事;首先,启用 SDK 来访问您的 Google 帐户。其次,您需要从浏览器中提供的网址复制验证密钥,然后将其粘贴回控制台。
- 登录谷歌云控制台 https://console.cloud.google.com/?pli=1.
- 创建一个新项目,例如android-编译-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
- 在 Google Cloud Console 终端中,移至您创建的存储库并下载并解压最新版本的 Android Tools SDK。
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
and git push origin master
,您可以将在 Chromebook 上开发的代码上传到存储库,以便 Android SDK 对其进行编译。您可以通过执行项目的本地命令来完成此操作gradlew
文件,即./gradlew build
.
编译完成后,您可以pull
将生成的二进制文件放回到您的开发计算机上,并使用 Android 设备桥配置连接的 Android 设备(adb
), 使用adb install path/to/apk
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)