Linux 下gradle 命令打包Apk 环境配置过程记录

公司项目需要在linux 服务器上使用命令行编译apk ,就需要将个人在window环境的android studio 配置:

jdk 1.8
gradle-5.6.4 
COMPILESDKVERSION = 29
BUILDTOOLSVERSION = 29.0.3

1.jdk 下载参考  Linux 下安装JDK1.8 https://www.cnblogs.com/fswhq/p/10713429.html
2.gradle 下载参考 Ubuntu14.04 安装Gradle https://blog.csdn.net/coloriy/article/details/60878527
3.android sdk 下载参考 Linux -- 安装配置Android SDK https://blog.csdn.net/u011974797/article/details/78973012
  android list sdk --all 
  查看 COMPILESDKVERSION  BUILDTOOLSVERSION  对应的序号
  可以使用以下命令进行下载
  android update sdk -u -a -t 1,2,3,4               // 1-2-3-4 就是list 中的序号,对应改成自己需要的版本

4.编译从git 中拉取下来的android studio 项目 参考https://blog.csdn.net/zzqybyb19860112/article/details/80407808  第八点,修改sdk目录位置
   进入项目根目录执行gradle assembleRelease 
   编译完成后会生成build 目录
   编译过程中可能会提示You have not accepted the license agreements of the following SDK components 的问题,参考网上的说使用这个命令sdkmanager --licenses,但是执行时候报错sdkmanager command not found ,但是到sdk 对应的目录下却看到这个文件,最后解决方法是,提示缺少那个版本的license 就重新装android update sdk -u -a -t  对应的SDK 版本和SDK-TOOLS版本

 

4.编译开始时先执行某些task,用于文件拷贝,文件下载(使用服务器最新的so,jar等),

//定义 task , 名字 hello
task hello{
    File file = new File("E:\\hello.txt");
    OutputStream out = new FileOutputStream(file);
    out.write("This is just a test for task".getBytes());
    println "hello world"
}

//定义 task,名字 hello
task(hello2){
    println "hello world2"
}

//在Android studio点击运行时候,会先执行
tasks.whenTaskAdded { task ->
    if (task.name == 'assembleDebug') {
        task.dependsOn 'hello'
        println "hello assembleDebug"
    }
    if (task.name == 'assembleRelease') {
        task.dependsOn 'hello2'
        println "hello assembleRelease"
    }
}

 

 

你可能感兴趣的:(Linux,学习,android)