天天看点

jenkins 安卓打包

环境准备

<code>找一个台新机器,因为要升级内核文件,我升级,中文全部识别不了,全是乱码,没解决</code>

<code>yum </code><code>-</code><code>y install gcc gcc</code><code>-</code><code>c</code><code>+</code><code>+</code> <code>autoconf automake</code>

<code>yum install glibc</code><code>-</code><code>common  </code>

<code>解决libc.so.</code><code>6</code><code>: version `GLIBC_2.</code><code>14</code><code>' </code><code>not</code> <code>found问题</code>

<code>http:</code><code>/</code><code>/</code><code>stuart.blog.</code><code>51cto</code><code>.com</code><code>/</code><code>728677</code><code>/</code><code>1840205</code>

<code>http:</code><code>/</code><code>/</code><code>blog.csdn.net</code><code>/</code><code>cpplang</code><code>/</code><code>article</code><code>/</code><code>details</code><code>/</code><code>8462768</code>

<code>curl http:</code><code>/</code><code>/</code><code>dl.google.com</code><code>/</code><code>android</code><code>/</code><code>ndk</code><code>/</code><code>android</code><code>-</code><code>ndk</code><code>-</code><code>r10e</code><code>-</code><code>linux</code><code>-</code><code>x86_64.</code><code>bin</code> <code>-</code><code>-</code><code>output </code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>android</code><code>-</code><code>ndk</code><code>-</code><code>r10e</code><code>-</code><code>linux</code><code>-</code><code>x86_64.</code><code>bin</code>

<code>android </code><code>list</code> <code>sdk </code><code>-</code><code>u</code>

<code>http:</code><code>/</code><code>/</code><code>www.cnblogs.com</code><code>/</code><code>sink_cup</code><code>/</code><code>archive</code><code>/</code><code>2011</code><code>/</code><code>12</code><code>/</code><code>01</code><code>/</code><code>2230344.html</code>

<code>Ubuntu </code><code>15.10</code> <code>x64 安装 Android SDK</code>

<code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>androidsdk</code><code>/</code><code>tools</code><code>/</code><code>bin</code>

<code>sdkmanager </code><code>"build-tools;25.0.0"</code>

<code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>androidsdk</code><code>/</code><code>platform</code><code>-</code><code>tools</code>

<code>buildscript {</code>

<code>    </code><code>repositories {</code>

<code>        </code><code>jcenter()</code>

<code>    </code><code>}</code>

<code>    </code><code>dependencies {</code>

<code>        </code><code>classpath </code><code>'com.android.tools.build:gradle:2.3.1'</code>

<code>}</code>

<code>http:</code><code>/</code><code>/</code><code>blog.csdn.net</code><code>/</code><code>CheNorton</code><code>/</code><code>article</code><code>/</code><code>details</code><code>/</code><code>50345039</code>

<code>工作环境搭建(</code><code>9</code><code>) </code><code>-</code> <code>CentOS7命令行安装Android NDK</code>

<code>http:</code><code>/</code><code>/</code><code>blog.csdn.net</code><code>/</code><code>CheNorton</code><code>/</code><code>article</code><code>/</code><code>details</code><code>/</code><code>50353036</code>

<code>工作环境搭建(</code><code>8</code><code>) </code><code>-</code> <code>CentOS7命令行安装Android SDK</code>

<code>http:</code><code>/</code><code>/</code><code>blog.csdn.net</code><code>/</code><code>chenorton</code><code>/</code><code>article</code><code>/</code><code>details</code><code>/</code><code>50345039</code>

<code>centos7中安装Android SDK的方法步骤</code>

<code>http:</code><code>/</code><code>/</code><code>www.jb51.net</code><code>/</code><code>article</code><code>/</code><code>119183.htm</code>

<code>cat </code><code>/</code><code>etc</code><code>/</code><code>profile</code>

<code>export JAVA_HOME</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>jdk</code>

<code>export JRE_HOME</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>jdk</code><code>/</code><code>jre</code>

<code>exportCLASSPATH</code><code>=</code><code>.:$JAVA_HOME</code><code>/</code><code>lib</code><code>/</code><code>dt.jar:$JAVA_HOME</code><code>/</code><code>lib</code><code>/</code><code>tools.jar:$JRE_HOME</code><code>/</code><code>lib</code>

<code>export PATH</code><code>=</code><code>$JAVA_HOME</code><code>/</code><code>bin</code><code>:$PATH</code>

<code>export ANDROID_SDK_HOME</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>android</code><code>-</code><code>sdk</code><code>-</code><code>linux</code>

<code>export ANDROID_HOME</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>android</code><code>-</code><code>sdk</code><code>-</code><code>linux</code>

<code>export GRADLE_HOME</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>gradle</code><code>-</code><code>3.3</code>

<code>export MAVEN_HOME</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>apache</code><code>-</code><code>maven</code><code>-</code><code>3.3</code><code>.</code><code>9</code>

<code>export PATH</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>/</code><code>bin</code><code>:$MAVEN_HOME</code><code>/</code><code>bin</code><code>:$PATH</code>

<code>export PATH</code><code>=</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>androidsdk</code><code>/</code><code>platform</code><code>-</code><code>tools:</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>androidsdk</code><code>/</code><code>tools</code><code>/</code><code>bin</code><code>:$ANDROID_HOME:$ANDROID_HOME</code><code>/</code><code>tools:$ANDROID_HOME</code><code>/</code><code>platform</code><code>-</code><code>tools:$ANDROID_SDK_HOME</code><code>/</code><code>tools:$ANDROID_SDK_HOME</code><code>/</code><code>platform</code><code>-</code><code>tools:$GRADLE_HOME</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>apr</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>apache</code><code>-</code><code>maven</code><code>-</code><code>3.3</code><code>.</code><code>9</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>root</code><code>/</code><code>shell:</code><code>/</code><code>usr</code><code>/</code><code>java</code><code>/</code><code>jdk</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>usr</code><code>/</code><code>lib64</code><code>/</code><code>qt</code><code>-</code><code>3.3</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>sbin:</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>sbin:</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>usr</code><code>/</code><code>sbin:</code><code>/</code><code>usr</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>root</code><code>/</code><code>bin</code><code>:</code><code>/</code><code>usr</code><code>/</code><code>local</code><code>/</code><code>git</code><code>/</code><code>bin</code>

<code>export MAVEN_OPTS</code><code>=</code><code>"-Xms1024m -Xmx1024m"</code>

具体步骤

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

       jcenter()

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

<code>def</code> <code>getCurrentTime() {  </code>

<code>    </code><code>return</code> <code>new Date().</code><code>format</code><code>(</code><code>"yyyyMMddHHmm"</code><code>, TimeZone.getTimeZone(</code><code>"UTC"</code><code>))  </code>

<code>}  </code>

<code>apply</code> <code>plugin: </code><code>'com.android.application'</code>

<code>android {</code>

<code>    </code><code>lintOptions {</code>

<code>          </code><code>abortOnError false</code>

<code>      </code><code>}</code>

<code>     </code><code>android.applicationVariants.</code><code>all</code> <code>{ variant </code><code>-</code><code>&gt;  </code>

<code>    </code><code>variant.outputs.each { output </code><code>-</code><code>&gt;  </code>

<code>        </code><code>def</code> <code>outputFile </code><code>=</code> <code>output.outputFile  </code>

<code>        </code><code>if</code> <code>(outputFile !</code><code>=</code> <code>null &amp;&amp; outputFile.name.endsWith(</code><code>'.apk'</code><code>)) {  </code>

<code>            </code><code>def</code> <code>buildType </code><code>=</code> <code>variant.buildType.name    </code>

<code>            </code><code>def</code> <code>fileName </code><code>=</code> <code>"andpl_V${defaultConfig.versionName}_${getCurrentTime()}${variant.productFlavors[0].name}.apk"</code>  

<code>            </code><code>output.outputFile </code><code>=</code> <code>new </code><code>File</code><code>(outputFile.parent, fileName)  </code>

<code>        </code><code>}  </code>

<code>    </code><code>}  </code>

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,如需转载请自行联系原作者

继续阅读