Android应用如何打包?
android app开发结束后,就需要对app进行打包、部署与发布了,那对于android初学者而言,如何对apk进行打包呢?今天小编就为大家分享一二,一起来看看吧~~
aapt package -m -J src -M AndroidManifest.xml -S res -I android.jar
//这句命令主要是重新自动生成R.java文件,比如增加个图片或者字符串或者增加个layout目录xml文件
mkdir D:\testapk\classes
//这句命令是创建个编译*.java源文件输出*.class存放的目录,文件夹名可以随便命名.
javac D:\testapk\src\aimoxiu\theme\moxiutheme\*.java -classpath D:\testapk\android.jar -d D:\testapk\classes\
//这句命令是调用javac工具编译源代码,因此想编译得确保目标计算机已经安装JDK,输出存放的目录是刚才创建的目录
cd D:\testapk\classes
jar cvf aimoxiu.jar *.*
//这句命令是把目录下*.class文件打成jar包,为了后面能够创建apk需要的classes.dex文件
cd..
dx --dex --output=classes.dex D:\testapk\classes\aimoxiu.jar
//这句命令把刚才的jar包转换成android手机能够运行的dex文件
CreateApk.bat文件内容:
aapt package -z -u -x -f -M AndroidManifest.xml -S res -I android.jar -F moxiu.apk
//这句命令生成应用程序apk文件
aapt add moxiu.apk classes.dex
//这句命令把前面生成的classes.dex文件压缩到apk文件,最终生成可运行的apk应用程序
java -jar signapk.jar aimoxiu.x509.pem aimoxiu.pk8 moxiu.apk moxiu_theme.apk
//这句命令是给生成的apk进行自动签名,无签名的apk是无法安装。因此一个android应用程序apk最终出炉啦!
del moxiu.apk /q
//删除刚才生成的无签名的apk文件
Windows操作系统实现不用Eclipse工具实现apk程序编译及打包使用该工具,生成的apk文件也能在android真机上运行
Linux操作系统实现也没任何问题,只要命令进行稍微处理即可!
aapt:
aapt是Android Asset Packaging Tool的首字母缩写,这个工具包含在SDK的tools/目录下。查看、创建、更新与zip兼容的归档文件(zip、jar、apk)。它也能将资源文件编译成二进制包。
尽管你可能不会经常直接使用appt,但是构建脚本(build scripts)和IDE插件会使用这个工具打包apk文件,构成一个Android应用程序。
如需更详细的使用细节,打开一个终端,进入tools/目录下,运行命令:
Linux或Mac操作系统:./aapt
Windows:aapt.exe
但是需要注意的一点是,tools/目录是指android SDK目录下的/platforms/android-X/tools/
以上就是些android apk打包的基础知识,大家get这些技能了么?
相关文章:《Android开发工具常用快捷键大全》
Android应用如何打包?的更多相关文章
- Android studio 自定义打包apk名
Android Studio打包应用默认生成的apk名称是:app-release.apk .如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了 需要在build.g ...
- [Android Studio] Android studio 多渠道打包(超简洁版)
[Android Studio] Android studio 多渠道打包(超简洁版) 转载:http://xuyazhou.com/archives/461 http://relex.me/usin ...
- 第07讲- Android项目的打包apk
第07讲Android项目的打包apk 方法一:在工作目录bin文件夹下有一个与项目同名的apk文件 (最懒惰的方式,不推荐,不安全,不利于版本更新,只有在开发模式时使用) 方法二:使用key方式 签 ...
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
- 1.9 Android程序签名打包
本节引言: 本节给大家介绍的是如何将我们的程序打包成Apk文件,并且为我们的Apk签名! 1.什么是签名,有什么用: Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到 ...
- Ionic2开发环境搭建、项目创建调试与Android应用的打包、优化
Ionic2开发环境搭建.项目创建调试与Android应用的打包.优化. windows下ionic2开发环境配置步骤如下: 下载node.js环境,稳定版本:v6.9.5 下载android stu ...
- Android App签名打包 与 SDK开发文档
Android App签名打包签名的意义1.为了保证每个程序开发者的合法权益2.放置部分人通过使用相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改3.保证我们每次发布的版本 ...
- Android 混淆签名打包
1.混淆文件 proguard-rules.pro # Add project specific ProGuard rules here. # By default, the flags in thi ...
- Android studio 使用心得(四)—android studio 多渠道打包(二)
Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...
- unity3d-配置Android环境,打包发布Apk流程详解
31:unity3d-配置Android环境,打包发布Apk流程详解 作者 阿西纳尼 关注 2016.08.28 22:52 字数 498 阅读 1806评论 0喜欢 5 Unity配置Android ...
随机推荐
- 5.Spring Cloud初相识-------Hystrix熔断器
前言: 1.介绍Hystrix 在一个分布式系统里,许多依赖不可避免的会调用失败,比如超时.异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,这个就是Hystrix需要做的事情.Hy ...
- 基于centos7实现的nfs
NFS NFS(Network FileSystem,网络文件系统),最早由Sun公司所发展出来的,主要是通过网络让不同的主机.不同的操作系统,可以彼此分享个别档案,因此我们也可以简单把NFS看成是一 ...
- JAVA / MySql 编程——第二章 初始MySQL
1. MySQL: ● MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL最流行的关系型数据库管理系统, ...
- 差点掉坑,MySQL一致性读原来是有条件的
众所周知,在设定了隔离等级为Repeatable Read及以上时,InnoDB 可以实现数据的一致性读.换句话来说,就是事务执行的任意时刻,读取到的数据是同一个快照,不会受到其他事务的更新影响. 以 ...
- Ball CodeForces - 12D
传送门 N ladies attend the ball in the King's palace. Every lady can be described with three values: be ...
- perl语言入门总结-第5章-输入输出
读取标准输入 chomp($line = <STDIN>); #去掉后面的换行 while (defined($line = <STDIN>)) { print "I ...
- tar命令,vi编辑器
一.将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖): [root@localhost /]# cat /etc/passwd /etc/group > 1.txt ...
- zookeeper: web ui工具的安装
zookeeper官方没有提供web用户界面,这使很多人在使用zookeeper(动物管理员)同时,并不是很容易的理解zookeeper的数据结构,还好淘宝有位大神用Nodejs写了一个web的ui工 ...
- 设计模式--单例模式Singleton
单例模式顾名思义整个程序下只有一个实例,例如一个国家只有一个皇帝,一个军队只有一个将军.单例模式的书写又分为饿汉模式和懒汉模式 饿汉模式 类中代码 package demo; public cla ...
- MyBatis---简单增删改查的带事物的例子
本例子包含了对数据库表简单的增删改查的操作,并且包含事物.该例子只适用于MySQL数据库.该例子需要手动创建数据库以及数据库表 例子中所需要的jar包,详查MyBatis---简介 一个entity类 ...