zoukankan      html  css  js  c++  java
  • 安卓打包apk

    打apk包的环境依赖

    1.jdk

    2.sdk

    3.ndk

    打apk包的工具

    gradle

    mkdir /usr/local/Android
    cd /usr/local/Android
    mkdir sdk gradle ndk 

    1.jdk安装

    2.sdk安装

    https://www.androiddevtools.cn/下载地址

    cd /usr/local/Android/sdk
    wget  https://dl.google.com/android/android-sdk_r24.2-linux.tgz   #此版本过低需要多次更新sdk
    tar xf android-sdk_r24.2-linux.tgz
    cd /usr/local/Android/sdk/android-sdk-linux/tools
    ./android update sdk --no-ui         #更新sdk命令

    sdk 目录

    如果更新完后还缺少特定的安卓版本依赖,可以查看所有版本下载指定依赖

    /usr/local/Android/sdk/android-sdk-linux/tools/android list sdk -a    
       #会显示需要更新

    /usr/local/Android/sdk/android-sdk-linux/tools/android update sdk -a --no-ui --filter 3            #根据编号更新指定安卓版本 

    3. ndk安装

    https://developer.android.google.cn/ndk/downloads/

    cd /usr/local/Android/ndk
    wget https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip
    unzip android-ndk-r16b-linux-x86_64.zip

    安装打包工具gradle

    https://gradle.org/

    unzip /usr/local/Android/gradle/gradle-5.1-bin.zip

    配置所有插件的环境变量

    vim /etc/profile
    export GRADLE_HOME
    =/usr/local/Android/gradle/gradle-5.1 export ANDROID_HOM=/usr/local/Android/sdk/android-sdk-linux export JRE_HOME=${JAVA_HOME}/jre export NDK_HOME=/usr/local/Android/ndk/android-ndk-r16b export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$GRADLE_HOME/bin:$ANDROID_HOME/platform-tools:$NDK_HOME:$PATH source /etc/profile

    apk打包

    首先拉取代码,在代码目录里有一个gradlew文件,默认没有执行权限,chmod +x  gradlew 给与执行权限,

    ./gradlew assembleRelease                      #打包打完的包在羡慕目录的animalInsurance/build/outputs/apk/release/下
    如果找不到可以 find ./ |grep apk  搜索下 

    配置安卓代码里找到sdk,ndk工具的位置

    在安卓代码的根目录下有一个local.properties文件 在此文件里告诉安卓代码sdk工具的位置

    vim local.properties

    ## This file must *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. # # Location of the SDK. This is only used by Gradle. # For customization when using a Version Control System, please read the # header note. #Fri Jan 11 09:35:09 CST 2019 ndk.dir=/usr/local/Android/ndk/android-ndk-r16b #ndk路径 sdk.dir=/usr/local/Android/sdk/android-sdk-linux #sdk 路径

    使用jks给apk签名

    jarsigner -verbose -keystore xxx.jks(jks文件) -signedjar xxx.apk(签名后的apk名字) xxx.apk(需要签名的apk) xxx(keystore别名)

    如果失败可能是已有签名

    需要先把apk文件的后缀给为zip,

    解压zip文件,把文件下的 META-INFO 文件,

    再把解压的文件打包为zip文件,

    把zip文件改为apk文件,再重新签名即可成功

    jenkins配置自动安卓上线

     设置git拉取代码

    执行bash

    #!/bin/bash
    #name:王康
    #作用: jenkins安卓打包
    baopath=/var/lib/jenkins/workspace/安卓打包发布    #定义代码位置
    webpath=/var/www/html/android            #定义网页位置
    chmod +x $baopath/gradlew               #给打包命令加执行权限
    cd $baopath                       #进入目录下
    ./gradlew assembleRelease              #打包
    
    [ -f $webpath/nongxian.apk ] && mv $webpath/nongxian.apk $webpath/`date +%F-%T`nongxian.apk
    mv $baopath/animalInsurance/build/outputs/apk/release/animalInsurance-release.apk $webpath/nongxian.apk
  • 相关阅读:
    团队项目——技术规格说明书
    Scrum Meeting 11.1
    Scrum Meeting 10.31
    Scrum Meeting 10.30
    Scrum Meeting 10.29
    Scrum Meeting 10.28
    Scrum Meeting 10.27
    Scrum Meeting 10.26
    团队作业Week5
    Boost C++: 数据结构---tuple
  • 原文地址:https://www.cnblogs.com/ywrj/p/10245950.html
Copyright © 2011-2022 走看看