天天看點

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,如需轉載請自行聯系原作者

繼續閱讀