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/目录中

相关推荐
2501_916007472 分钟前
iOS 26 软件性能测试 新版系统下评估全流程 + 多工具辅助方案
android·macos·ios·小程序·uni-app·cocoa·iphone
云霄IT15 分钟前
绕过Frida检测反调试的一些办法
android·javascript
sang_xb43 分钟前
Android 如何开启 16KB 模式
android·kotlin
alengan1 小时前
安卓上谷歌35版本
android
珹洺2 小时前
Java-Spring入门指南(二十五)Android 的历史,认识移动应用和Android 基础知识
android·java·spring
大白的编程日记.2 小时前
【MySQL】数据库表的CURD(二)
android·数据库·mysql
介一安全3 小时前
【Frida Android】基础篇4:Java层Hook基础——调用静态方法
android·网络安全·逆向·安全性测试·frida
怪兽20143 小时前
主线程 MainLooper 和一般 Looper 的异同?
android·面试
洋不写bug4 小时前
数据库的创建,查看,修改,删除,字符集编码和校验操作
android·数据库·adb
2501_915909064 小时前
iOS App 上架全流程详解:证书配置、打包上传、审核技巧与跨平台上架工具 开心上架 实践
android·ios·小程序·https·uni-app·iphone·webview