Docker搭建Android App编译环境

1、下载SDKManager

Android链接地址:sdkmanager  |  Android 开发者  |  Android Developers,找到要下载的压缩包,执行以下命令:

mkdir AndroidEnv

wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip

unzip commandlinetools-linux-8092744_latest.zip

2、移动解压后的文件到latest目录

cd cmdline-tools;mkdir latest

cd cmdline-tools/latest/bin

3、查看AndroidSDK工具包并安装:

查看命令:

./sdkmanager --list

安装命令:

./sdkmanager --install "platforms;android-30"

./sdkmanager --install "platform-tools"

./sdkmanager --install "build-tools;32.0.0"

./sdkmanager --install "ndk;21.1.6352462"

./sdkmanager --install "emulator"

4、下载源码进入到工程目录下,配置sdk dir:

echo "sdk.dir=/home/xxx/AndroidEnv" > local.properties

5、编译并检查产物:

./gradlew assemble

出现问题:

1.执行完命令会报./gradlew: Permission denied 报错,此时需要执行如下命令获取权限

chmod +x gradlew

2.再次执行./gradlew assemble又会报如下错误:

localhost:~/AiEngine/jvssrvd/loader/android$ ./gradlew assemble
/usr/bin/env: ‘sh\r’: No such file or directory

错误原因:这主要是因为bash后面多了\r这个字符的原因。在linux终端下,输出\r会什么都不显示,只是把光标移到行首。于是终端虽然输出了/usr/bin/env bash,但是碰到\r后,光标会被移到行首,接着输出了:No such file or directory把前面的覆盖掉了。于是出现了那个莫名其妙的出错信息了

解决办法:

用vim打开sh脚本文件, 重新设置文件的格式

:set ff 然后回车 再重新设置下文件格式

:set ff=unix 然后保存退出

:wq! 回车

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果你想在 Docker 容器中搭建 Android 编译环境,可以参考以下步骤: 1. 安装 Docker:根据你的操作系统安装 Docker。 2. 获取 Android 源代码:可以参考 Google 官方文档获取 Android 源代码。 3. 创建 Docker 镜像:创建一个 Dockerfile 文件,指定基础镜像、安装必要的软件和配置环境变量等,具体内容可以参考下面的示例。然后使用 docker build 命令构建镜像。 ``` FROM ubuntu:18.04 RUN apt-get update && \ apt-get install -y git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \ lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \ libgl1-mesa-dev libxml2-utils xsltproc unzip ENV PATH=$PATH:/opt/android-sdk-linux/tools:/opt/android-sdk-linux/platform-tools RUN curl -L https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -o /tmp/sdk.zip && \ mkdir /opt/android-sdk-linux && \ unzip /tmp/sdk.zip -d /opt/android-sdk-linux && \ rm /tmp/sdk.zip && \ yes | /opt/android-sdk-linux/tools/bin/sdkmanager --licenses && \ /opt/android-sdk-linux/tools/bin/sdkmanager "platform-tools" "build-tools;28.0.3" "platforms;android-28" ``` 4. 运行容器:创建一个容器并挂载你的 Android 源代码目录到容器中,然后进入容器并执行编译命令即可。示例命令如下: ``` docker run -it --rm -v /path/to/android/source:/android-source my-android-build-env /bin/bash cd /android-source source build/envsetup.sh lunch aosp_arm-eng make -j4 ``` 注意,这里的 /path/to/android/source 是你本地的 Android 源代码目录,my-android-build-env 是你刚才构建的 Docker 镜像的名称。另外,编译命令可以根据你的需求进行修改。 希望以上步骤对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值