我已尝试多次在Android Studio上安装和使用ARM Chromebook (C100P),但安装始终失败,并显示failed to run mksdcard tool
错误。我已经读到这是因为Android Studio依赖于与ARM处理器架构不兼容的本机二进制文件;即使在尝试各种黑客攻击或仅仅尝试使用这些库之后,我仍然无法在我的ARM Chromebook上设置Android开发环境。
答案 0 :(得分:4)
我得出的结论是,你真的不能。 Android的编译工具依赖于本机库;具体而言,lib32stdc++6
和lib32z1
。这些依赖于32位Intel二进制文件,因此在Google开始进行一些更改之前,不可能在ARM处理器上执行这些指令字(甚至不支持i386 multiarch支持)。
幸运的是,我在这里提出一个解决方法。我们要将计算委托给虚拟机;一个 与这些二进制文件兼容的文件。它将免费和安全,因此您无需担心谁可以访问您的源代码。我们将使用Google App Engine来实现这一目标。
假设我们正在使用全新安装,我将开始本教程。
首先,下载latest Crouton installer,以便我们有一个完整的Ubuntu发行版。在Chromebook外壳中( 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安装。gcloud auth login
使用关联的Google帐户登录Google Cloud SDK。这需要你做两件事;首先,启用SDK以访问您的Google帐户。其次,您需要在提供的网址上从浏览器中复制验证密钥,您需要将其粘贴回控制台。在网络浏览器中启动Google Cloud Console的终端。接下来,在Google Cloud Console终端和本地Chromebook外壳中复制您的存储库。
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
export ANDROID_HOME=path/to/unzipped/tools
.bashrc
以在新服务器实例之间保留安装。
sudo apt-get install lib32stdc++ lib32z1
sudo apt-get install android-sdk-platform-tools-common android-tools-adb android-tools-adbd android-tools-fastboot
这就是一切!如果您已正确执行这些步骤,则您已成功配置了一个用于Android编译的Google虚拟机。通过Google Cloud Console终端,可以为您希望编译的各种API级别添加Android平台支持。
在这里,我们添加API Level 25和Android Support Repositories,如下所示:
./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
将生成的二进制文件adb
重新发送到开发计算机并使用Android设备桥(adb install path/to/apk
)配置已连接的Android设备。