ubuntu18.04 配置安卓编译环境

目前有个项目,验收时有个要求是在linux中进行编译打包生成apk文件。我平时都是在windows环境android studio中进行打包的,花了半天时间研究了一下,记录如下:

安装安卓sdk

bash 复制代码
cd /opt
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip sdk-tools-linux-4333796.zip
mkdir sdk
mv tools/ sdk/

配置环境变量

bash 复制代码
gedit /etc/profile
复制代码
profile文件中加入以下两行
export ANDROID_HOME=/opt/sdk
export PATH=${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}:${PATH}
bash 复制代码
source /etc/profile
sdkmanager --list

如果有以下报错,说明还没装jdk

ERROR:JAVA HOME is not set and no 'java' command could be found in your PATH.

安装jdk

bash 复制代码
apt update
apt install openjdk-8-jdk

安装安卓build-tools和platforms

bash 复制代码
sdkmanager "build-tools;29.0.3"
sdkmanager "platforms;android-29"

再次执行sdkmanager --list

如果看到以下3行输出,说明安装正常

bash 复制代码
Installed packages:=====================] 100% Computing updates...             
  Path                 | Version | Description                    | Location             
  -------              | ------- | -------                        | -------              
  build-tools;29.0.3   | 29.0.3  | Android SDK Build-Tools 29.0.3 | build-tools/29.0.3/  
  platforms;android-29 | 5       | Android SDK Platform 29        | platforms/android-29/
  tools                | 26.1.1  | Android SDK Tools 26.1.1       | tools/               

安装gradle

gradle的版本号看项目配置文件/gradle/wrapper/gradle-wrapper.properties

bash 复制代码
cd /opt
wget https://services.gradle.org/distributions/gradle-6.5-bin.zip
unzip gradle-6.5-bin.zip
mkdir gradle
mv gradle-6.5 /opt/gradle/

配置环境变量

bash 复制代码
gedit /etc/profile

profile文件中加入以下两行

export GRADLE_HOME=/opt/gradle/gradle-6.5

export PATH={GRADLE_HOME}/bin:{PATH}

bash 复制代码
source /etc/profile

导入android studio项目并打包

opt下面建一个code文件夹,将demo项目放到里面,执行gradle assembleRelease

接着有报错,说是证书路径找不到。我的证书配置在项目路径/app/build.gradle中

bash 复制代码
FAILURE: Build failed with an exception.

* Where:
Build file '/opt/code/demo/app/build.gradle' line: 19

* What went wrong:
A problem occurred evaluating project ':app'.
> Cannot convert URL 'C:/Users/Administrator/.android/demo.keystore' to a file.

我把证书复制到/app/目录下,修改一下项目路径/app/build.gradle配置

再次执行gradle assembleRelease

编译成功后apk文件会输出到项目路径/app/build/outputs/apk/release/目录中

相关推荐
逐光老顽童20 小时前
Java 与 Kotlin 混合开发避坑指南:30 个真实案例实录
android·kotlin
爱勇宝1 天前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu1 天前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘2 天前
Android OTA 升级原理和流程介绍
android
plainGeekDev2 天前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev2 天前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL2 天前
Handler 消息回收与协程异步执行的时序陷阱
android
恋猫de小郭2 天前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter
三少爷的鞋2 天前
Android 协程并发控制:别动线程池,控制好并发语义就够了
android
weiggle3 天前
第七篇:状态提升与单向数据流——架构设计的核心
android