位置: 编程技术 - 正文

Android打包之bat脚本打包(android 打包)

编辑:rootadmin

推荐整理分享Android打包之bat脚本打包(android 打包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android打包原理,android打包命令,android项目打包,android bat,android 打包,android打包aab,android打包命令,android打包命令,内容如对您有帮助,希望把文章链接给更多的朋友!

Android打包可以使用eclipse直接打包,而eclipse打包其实是对一系打包命令的执行。既然是执行命令,那么命令行也同样可以胜任,所以有了bat脚本打包。对于打包,其过程大致如下:

1、生成R.java

2、编译*.java

3、生成classes.dex

4、将assets、res打包

5、生成未签名的apk

6、将apk签名

基于这些步骤,我们使用bat来一步一步完成,下面是一个脚本文件截图。

1、生成R.java

新建一个AntDemo工程,然后在该工程的根目录下编写第一步的bat脚本1_genR.bat,代码如下。

?1aaptpackage-f -m -J gen -S res -I D:/android-sdk-windows/platforms/android-/android.jar -M AndroidManifest.xml

注:执行后生成R.java文件。用eclipse直接新建一个AntDemo工程后,gen目录下已经有R.java文件,如果再执行这个脚本会看到修改时间会改变。如果不确定的,可以将R.java删除,然后再执行脚本以便观看效果。

下面是脚本执行后的图。

2、编译*.java

编译时调用的是JDK下的javac命令,所以需要安装JDK,建议使用jdk1.6(1.7有可能出问题)。安装完成后将JDK所在目录下的bin目录设置成环境变量,然后编译脚本2_compile.bat.

?mkdir bin javac -target 1.6-bootclasspath D:/android-sdk-windows/platforms/android-/android.jar -d bin gencomexample antdemo*.java srccomexampleantdemo*.java注:

(1)、mkdir bin是创建bin目录。

(2)、javac中的target指定的是jdk的版本。

(3)、android.jar需要对应到相应的版本,这里选的是android-。

(4)、gencomexample指定java文件所在的目录。

执行该脚本后,会在bin目录下生成一系列的class文件,如下图。

3、生成classes.dex

dx命令是一个dx.bat的脚本,位于android-sdk/plaform-tools下。为了能直接执行dx命令,需要将dx.bat所在的目录设置到环境变量中。下面是编写的脚本3_dex.bat.

?1dx --dex --output=G:CodeAndroidWorkspaceAntDemobinclasses.dex G:CodeAndroidWorkspaceAntDemobin

注:

Android打包之bat脚本打包(android 打包)

(1)、output指定的是输出dex的位置。

(2)、G:CodeAndroidWorkspaceAntDemobin指定的是class文件的目录。

执行脚本后生成的文件见下图。

4、将assets、res打包

编写4_package.bat,内容如下。

?1aaptpackage-f -A assets -S res -I D:/android-sdk-windows/platforms/android-/android.jar -M AndroidManifest.xml -F bin/AntDemo注:将assets和res中的文件打包,生成AntDemo文件。见下图。

5、生成未签名的apk

编写5_unsigned.bat,内容如下。

?1apkbuilder G:CodeAndroidWorkspaceAntDemobinAntDemo_unsigned.apk -v -u -z G:CodeAndroidWorkspaceAntDemobinAntDemo -f G:CodeAndroidWorkspaceAntDemobinclasses.dex -rf G:CodeAndroidWorkspaceAntDemosrc

注:

(1)、需要调用apkbuilder命令,该命令是一脚本,在android-sdk/tools下,所以需要将该目录设置成环境变……

(2)、需要将之前生成的AntDemo、classes.dex和src下的文件一起构建出apk。

下面是生成的结果图。

6、将apk签名

签名apk前,需要先生成一个签名文件*.keystore。该签名文件可以通过JDK下的bin目录下的keytool.exe来生成。可以使用如下脚本:

?1keytool -genkey -alias ant_test -keyalg RSA -validity -keystore my.keystore执行该脚本后,按提示输出即可。这里的测试版本使用的密码是,其他的直接回车(即使用默认的unknown)。具体的可以参看此文《Android之apk文件签名》

有了keystore之后,就可以进行apk签名了,编写脚本6_signed.bat,内容如下:

?1jarsigner -keystore G:CodeAndroidWorkspaceAntDemobuildmy.keystore -storepass -keypass -signedjar G:CodeAndroidWorkspaceAntDemobinAntDemo_signed.apk G:CodeAndroidWorkspaceAntDemobinAntDemo_unsigned.apk ant_test注:

(1)、jarsigner在JDK的bin目录下,该目录如果没有设置成环境变量的,需要设置成环境变量。

(2)、输入生成my.keystore中所使用的密码和别名(生成签名文件时alias所指定的参数即是)。

下面是执行脚本后的图。

上面的过程是一步一步分开的,如果需要一起执行,可以将脚本合并成一个脚本,或者再建一个脚本build.bat来调用各个脚本,下面是build.bat的脚本代码。

?call 1_genRcall 2_compilecall 3_dexcall 4_packagecall 5_unsignedcall 6_signed这样,使用bat脚本打包就完毕了。bat脚本的执行就是对一系列任务的执行,而ant也是对一系列任务的执行,所以可以将这些脚本转换成ant的脚本,具体请参见《Android打包之将bat脚本转换成ant脚本》。

Android存储访问及目录 Android的外部存储Android支持外部存储(case-insensitivefilesystemwithimmutablePOSIXpermissionclassesandmodes)。外部存储可以通过物理介质提供(如SD卡),也可以通过将内部

android实现点赞动画 想让APP给人一个好的映像,无非使自己实现的功能更加炫丽!!接下来给大家介绍下点赞的一个动画效果:接下来看看是如何实现的:简单布局如下:Re

Android设计模式--抽象工厂模式 问题:抽象工厂模式,是一个,狠恶心的模式,那么这个模式在Android有没有用到过呢?1、定义:抽象工厂模式:为创建一组相关或者是相互依赖的对象

标签: android 打包

本文链接地址:https://www.jiuchutong.com/biancheng/387556.html 转载请保留说明!

上一篇:adb 命令 直接把日志存到text文件中(adb命令ls)

下一篇:Android存储访问及目录(安卓 存储权限 访问的地方是哪里)

  • 进口商品需要缴纳哪些税
  • 股东分红交税税率
  • 金税盘软件
  • 未开发票如何确认收入并进行申报
  • 小企业今年怎么过
  • 新换财务软件如何登录
  • 水利建设专项收入的计税依据是什么?
  • 过路费可以入账吗
  • 解除劳动合同员工不同意
  • 加计抵减怎么入账
  • 用进项税冲抵当月增值税的会计分录
  • 不按出资比例取得分红怎么纳税?
  • 参与工会职工应享受哪些福利待遇
  • 固定资产已入账怎么冲销
  • 信用证保证金是什么意思
  • 固定资产之前没提折旧,数额交大
  • 个人所得税0申报操作流程
  • 把水费开成物业费发票有什么风险吗?
  • 沙特将开征增值税和特殊商品消费税
  • 汇票贴息会计分录
  • 减值 计提
  • 城镇退役士兵安置条例
  • 建筑行业成本预算和施工方案哪个更有含金量
  • 生产车间制造费用包括
  • 基本户里面的钱的用途
  • 让记事本文件自动删除
  • springboot上传文件大小设置
  • ngwatch.exe
  • php fgetcsv
  • 调整固定资产折旧年限,折旧额的变化
  • 收到质量赔款做什么会计科目
  • php实现文件的下载
  • 核定征收开票超过限额
  • 小规模纳税人免征增值税政策
  • php如何防止后门
  • 制造费用期末怎么结转
  • vue显示pdf
  • centos php7.4
  • 小程序从入门到精通
  • php代码自动生成
  • 兼职人员需要
  • vue新手教程
  • 完整财务报表包括哪几类
  • 帝国cms会侵权吗为什么
  • 免税公司专用发票是什么
  • 接受捐赠按什么价值入账
  • 酒店成本控制有哪些
  • mysql数据库sid
  • 个税如何确认申报
  • 白酒行业销售赠礼方案
  • 金银首饰以旧换新增值税处理
  • 可转换公司债券例题
  • 控股合并和吸收合并会计处理的区别
  • 预付账款在何时可以转出
  • 专利权转让的条件
  • 办公报销项目
  • 应收票据和应付票据可以对冲吗
  • 简易计税的进项税额转出会计分录
  • 固定资产需要具备的条件
  • 商贸企业固定资产可以一次性扣除吗?
  • 一个 sql 查询很慢,从哪些地方进行优化?
  • 硬盘安装在机箱内,属于主机的组成部分
  • freebsd怎么用
  • FNPLicensingService.exe是什么意思
  • vc_mbcsmfc.exe是什么
  • win7自带的软件
  • xp死机不动
  • macbookpro登陆
  • windows10电量图标消失了怎么还原
  • msn无法登录
  • Android OpenGL ES(七)----理解纹理与纹理过滤
  • cocos creator构建发布
  • 下列关于js的说法正确的是
  • 详解TCP的四种定时器
  • javascript静态
  • 代码实现观察者模式
  • 湖北税务发票真伪查询网
  • 充电桩充电怎么收费,几种收费方法
  • ecco made in china
  • 汽车维修费税率是13还是6
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设