安卓打包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:$PATHsource /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

 

转载于:https://www.cnblogs.com/ywrj/p/10245950.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

收集最全的Joomla教材网站和joomla模板网站

http://www.seonote.net/joomla/the-most-complete-collection-of-joomla-sites-and-joomla-templates-website-materials.html 这篇文章算是为joomla学习者而准备的,包括了适合初学者学习的教材网站、国内比较好的joomla学习网 站以及几个比较好的joomla模板网站&a…

你知道怎么衡量硬件设备的算力吗?

前几天在知乎上看到有知友提问,什么是 GPU 算力。当时简单回答了一下,今天有空,在这里详细谈谈算力。算力也是做高性能计算的核心概念和指标。设备算力分为两部分,其一是设备,其二是算力。设备主要是指 CPU、GPU、DSP、…

socket api中send()和recv()函数工作原理与要点

send()和recv()函数是网络编程中经常使用到的函数,下面详细的比较两者的不同之处 send函数工作原理:send函数只负责将数据提交给协议层。 当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲区的长度,如果len大于s…

Python爬虫入门教程 22-100 CSDN学院课程数据抓取

1. CSDN学院课程数据-写在前面 今天又要抓取一个网站了,选择恐惧症使得我不知道该拿谁下手,找来找去,算了,还是抓取CSDN学院吧,CSDN学院的网站为 https://edu.csdn.net/courses 我看了一下这个网址,课程数量…

UML类图解义 (来自《大话设计模式》)

为什么80%的码农都做不了架构师?>>> 小菜:“对了,我时常在一些技术书中看到这些类图表示,简单的还看得懂,有些标记我很容易混淆。要不你给我讲讲吧。” 大鸟:“这个其实多看多用就熟悉了。我给…

易写易库(EXEK)玩“花”儿之三:命令有图标支持库,附图

释题:如果您认为这个“花”儿,属于之前第一个“花”儿的变种,易语言写支持库也能玩出“花”儿来(易写易库(EXEK)进展5),我也不反对。 在开始正文之前,我要首先回答我之前提出的两个问题&#xf…

您好,有什么嵌入式书籍推荐的?

回答下这个后台的留言-----比较推荐下面这个仓库里面的内容!https://github.com/ZhongYi-LinuxDriverDev/CS-EmbeddedLinux-Book#%E5%85%A8%E9%83%A8%E6%B1%87%E6%80%BB

闭包的功能举例

闭包可以在函数外部或者其他函数内,访问本函数内的变量: 闭包可以使变量持久,常驻内存,又可以避免变量被外部修改 1 def func():2 name "大傻子" #定义个name "大傻子"3 def func1():4 return name #把name返回给…

低学历者为何能骗取30万年薪职位

内容&#xff1a;<P>  在如今的职场就业中&#xff0c;高学历真的很诱人。号称是美国耶鲁大学管理学博士但只有初中毕业文凭的方某&#xff0c;能不受到高企的忠爱?在方某的精心准备&#xff0c;经历过一系列面试&#xff0c;他终于谋得了一份年薪30万的总经理助理兼人…

VS2017打开低版本的VS MVC架构的项目的时候需要修改的地方

1、需要修改的是.sln文件&#xff0c;即将里面的 Version改为12&#xff0c;其中的VS的版本改为2017 2、项目中后缀名为 .csproj中的代码改一下&#xff1a; 转载于:https://www.cnblogs.com/zhijianhao/p/10253572.html

从外部的js文件中获取ASPX页面的控件ClientID(get control reference from external javascript)...

前言 当使用MasterPage、UserControl等容器时&#xff0c;为了避免控件的重复命名&#xff0c;asp.net会自动将容器中的控件生成一个ClientID&#xff08;Control Tree中的可生成&#xff0c;否则不会生成&#xff09;。 例如&#xff1a;ContentPlaceHolder1中的Button1默认情…

[转]一个老工程师给年轻工程师的忠告

[1]好好规划自己的路&#xff0c;不要跟着感觉走&#xff01;根据个人的理想决策安排&#xff0c;绝大部分人并不指望成为什么院士或教授&#xff0c;而是希望活得滋润一些&#xff0c;爽一些。那么&#xff0c;就需要慎重安排自己的轨迹。从哪个行业入手&#xff0c;逐渐对该行…

A star算法优化一

A*算法 求最优解 算法一直维护两个表: Open和Close 将起点S加入Open中将所有S可到达的点&#xff08;障碍物以及位于Close表中的点均看成不可达&#xff09;加入到Open中。将起点从Open中删去&#xff0c;并加入到Close中①从Open中删去F值最小的点Min&#xff0c;并将其加入到…

可怕!CPU暗藏了这些未公开的指令!

我们平时编程写的高级语言&#xff0c;都是经过编译器编译以后&#xff0c;变成了CPU可以执行的机器指令&#xff1a;而CPU能支持的指令&#xff0c;都在它的指令集里面了。很久以来&#xff0c;我都在思考一个问题&#xff1a;CPU有没有未公开的指令&#xff1f;或者说&#x…

在Ubuntu下运行 apt-get update命令后出现错误:

在Ubuntu下运行 apt-get update命令后出现错误: The package lists or status file could not be parsed or opened sudo rm /var/lib/apt/lists/* -vf 然后&#xff1a; sudo apt-get update #&#xff08;更新软件源&#xff09;执行安装操作 sudo apt-get upgrade#&#xff…

mvc filter 的用法

1、建个类在model里面名字随便 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using RHRSP.Web.Controllers.Common;namespace RHRSP.Web.Models {public class DemoActionAttributeFilter : ActionFilterAttr…

Sandy引擎学习笔记:摄影机

第三课程&#xff1a;如何使用摄影机&#xff1f;通过摄影机移动来使摄影的对象产生变化&#xff0c;这样会使动画变得容易。因为你不需要改变观察对象的的属性&#xff0c;只是改变摄影机的变化 package { import flash.display.Sprite; import flash.events.*; impo…

A star算法优化二

本文目的是对A*寻路算法所生成的路径进行一些人性化的调整&#xff0c;使其看起来不至于太机械化。关于A*算法的原理与实现&#xff0c;读者可以阅读其他资料&#xff0c;这里不再详细阐述。 如何写估价函数A*寻路算法本质上是一个有方向性的广度优先搜索算法&#xff0c;它使用…

格式化字符串

Format (.7, “0%”)&#xff1d;70%Format (1140, “$#,##0”)&#xff1d;$1,140Format (114, “$#,##0”)&#xff1d;$1,140字符意义&#xff1a;0 显示一数字&#xff0c;若此位置没有数字则补 0# 显示一数字&#xff0c; 若此位置没有数字则不显示% 数字乘以 100 并在右边…

CentOS下python-mysqldb安装

CentOS下python-mysqldb安装日期&#xff1a;2011-04-17 &#xff5c; 来源&#xff1a;未知 &#xff5c; 作者&#xff1a;redice &#xff5c; 869 人围观 &#xff5c; 1 人鼓掌了&#xff01;鲲鹏Web数据抓取 - 专业Web数据采集服务提供者&#xff08;1&#xff09;py…