jenkins 安卓打包

简介:

环境准备

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
找一个台新机器,因为要升级内核文件,我升级,中文全部识别不了,全是乱码,没解决
 
yum  - y install gcc gcc - c + +  autoconf automake
yum install glibc - common  
 
解决libc.so. 6 : version `GLIBC_2. 14 not  found问题
http: / / stuart.blog. 51cto .com / 728677 / 1840205
http: / / blog.csdn.net / cpplang / article / details / 8462768
 
curl http: / / dl.google.com / android / ndk / android - ndk - r10e - linux - x86_64. bin  - - output  / usr / java / android - ndk - r10e - linux - x86_64. bin
 
android  list  sdk  - u
 
http: / / www.cnblogs.com / sink_cup / archive / 2011 / 12 / 01 / 2230344.html
Ubuntu  15.10  x64 安装 Android SDK
 
 
/ usr / java / androidsdk / tools / bin
sdkmanager  "build-tools;25.0.0"
/ usr / java / androidsdk / platform - tools
 
buildscript {
     repositories {
         jcenter()
     }
     dependencies {
         classpath  'com.android.tools.build:gradle:2.3.1'
     }
}
 
http: / / blog.csdn.net / CheNorton / article / details / 50345039
 
工作环境搭建( 9 -  CentOS7命令行安装Android NDK
http: / / blog.csdn.net / CheNorton / article / details / 50353036
 
工作环境搭建( 8 -  CentOS7命令行安装Android SDK
http: / / blog.csdn.net / chenorton / article / details / 50345039
 
centos7中安装Android SDK的方法步骤
http: / / www.jb51.net / article / 119183.htm
 
cat  / etc / profile
export JAVA_HOME = / usr / java / jdk
export JRE_HOME = / usr / java / jdk / jre
exportCLASSPATH = .:$JAVA_HOME / lib / dt.jar:$JAVA_HOME / lib / tools.jar:$JRE_HOME / lib
export PATH = $JAVA_HOME / bin :$PATH
 
export ANDROID_SDK_HOME = / usr / java / android - sdk - linux
export ANDROID_HOME = / usr / java / android - sdk - linux
export GRADLE_HOME = / usr / java / gradle - 3.3
 
export MAVEN_HOME = / usr / java / apache - maven - 3.3 . 9
export PATH = / usr / local / apr / bin :$MAVEN_HOME / bin :$PATH
export PATH = / usr / java / androidsdk / platform - tools: / usr / java / androidsdk / tools / bin :$ANDROID_HOME:$ANDROID_HOME / tools:$ANDROID_HOME / platform - tools:$ANDROID_SDK_HOME / tools:$ANDROID_SDK_HOME / platform - tools:$GRADLE_HOME / bin : / usr / local / apr / bin : / usr / java / apache - maven - 3.3 . 9 / bin : / root / shell: / usr / java / jdk / bin : / usr / lib64 / qt - 3.3 / bin : / usr / local / sbin: / usr / local / bin : / sbin: / bin : / usr / sbin: / usr / bin : / root / bin : / usr / local / git / bin
export MAVEN_OPTS = "-Xms1024m -Xmx1024m"

具体步骤

1.libc.so.6: version `GLIBC_2.14' not found

2.先安装androidsdk,生成证书文件夹

3.android list sdk -u 更新

./android update sdk -u -t add-on,extra,platform,platform-tool,tool


http://services.gradle.org/distributions/  gradle安装包


注意

兼容性 yum whatprovides libstdc++.so.6


编译步骤

1.bulid.g 修改

2.linc 文件

3.命令

4.移动依赖的文件

5.壳 setting


gradle clean build

gradle assemble_devdebug


主工程

buildscript {

    repositories {

        jcenter()

    }

    dependencies {

        classpath 'com.android.tools.build:gradle:2.3.1'

    }

}


模块

PullToRefresh

buildscript {

    repositories {

       jcenter()

    }

    dependencies {

        classpath 'com.android.tools.build:gradle:2.3.0'

    }

}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
buildscript {
     repositories {
         jcenter()
     }
     dependencies {
         classpath  'com.android.tools.build:gradle:2.3.1'
     }
}
 
def  getCurrentTime() {  
     return  new Date(). format ( "yyyyMMddHHmm" , TimeZone.getTimeZone( "UTC" ))  
}  
 
apply  plugin:  'com.android.application'
android {
     lintOptions {
           abortOnError false
       }
 
      android.applicationVariants. all  { variant  - >  
     variant.outputs.each { output  - >  
         def  outputFile  =  output.outputFile  
         if  (outputFile ! =  null && outputFile.name.endsWith( '.apk' )) {  
             def  buildType  =  variant.buildType.name    
             def  fileName  =  "andpl_V${defaultConfig.versionName}_${getCurrentTime()}${variant.productFlavors[0].name}.apk"  
             output.outputFile  =  new  File (outputFile.parent, fileName)  
         }  
     }  
}


3.jenkins配置

clean assemble${PRODUCT_FLAVOR}${BUILD_TYPE} --stacktrace --debug

BUILD_TYPE Release

PRODUCT_FLAVOR Beta

CODE_BRANCH  develop

VERSION  1.0.0


编译指定productFlavor及buildType的apk

$gradle assemble[productFlavor][buildType]


需要动态写入的参数有versionName、打包时间戳、是来自Jenkjins运行还是我们本地打包的标识符

把这三个参数与其在本地的默认值定义在gradle.properties中,然后在build.gradle变能引用。



本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1965268,如需转载请自行联系原作者

相关文章
|
8月前
|
敏捷开发 Java 机器人
云效产品使用常见问题之打包后的Android应用获取下载地址失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
9天前
|
存储 监控 API
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
app开发之安卓Android+苹果ios打包所有权限对应解释列表【长期更新】-以及默认打包自动添加权限列表和简化后的基本打包权限列表以uniapp为例-优雅草央千澈
|
7月前
|
安全 Java Android开发
05. 【Android教程】Android 程序签名打包
05. 【Android教程】Android 程序签名打包
76 1
|
5月前
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
403 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
3月前
|
jenkins Java 持续交付
Jenkins打包,发布,部署
Jenkins打包,发布,部署
273 0
|
6月前
|
Android开发
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
163 0
|
8月前
|
jenkins 持续交付 开发工具
蓝易云 - 基于Jenkins自动打包并部署docker环境
以上就是基于Jenkins自动打包并部署docker环境的基本步骤。在实际操作中,你可能需要根据你的具体需求进行一些调整。
184 0
|
7月前
|
Java 开发工具 Android开发
详细解读Android开发DNK开发将.c文件打包成os
详细解读Android开发DNK开发将.c文件打包成os
36 0
|
7月前
|
jenkins 持续交付 开发工具
Android使用Jenkins打包自动维护sdk版本号
Android使用Jenkins打包自动维护sdk版本号
69 0
|
7月前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
376 0