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 ...
随机推荐
- 如何把设计图自动转换为iOS代码? 在线等,挺急的!
这是一篇可能略显枯燥的技术深度讨论与实践文章.如何把设计图自动转换为对应的iOS代码?作为一个 iOS开发爱好者,这是我很感兴趣的一个话题.最近也确实有了些许灵感,也确实取得了一点小成果,和大家分享一 ...
- 【杂题总汇】NOIP2013(洛谷P1967) 货车运输
[洛谷P1967] 货车运输 重做NOIP提高组ing... +传送门-洛谷P1967+ ◇ 题目(copy from 洛谷) 题目描述 A国有n座城市,编号从1到n,城市之间有m条双向道路.每一条道 ...
- UVA_10820_send a table
When participating in programming contests, you sometimes face the following problem: You know how t ...
- 解决mysql远程连接失败的问题
问题描述 在我远程连接我的服务器数据库的时候,navicat给我提示了这么一个错误: ERROR : Host 'xxx' is not allowed to connect to thisMySQL ...
- MySQL如何计算重要的指标,来确定配置是否正确
在调优MySQL数据库和监控数据库时,很多朋友不知道如何下手,怎么来确定是不是参数设置的合理,下面给出一些如何计算指标,来确定数据库参数是否设置合理,希望给大家一些方法,去做MySQL数据库优化,最好 ...
- Python基本数据类型及使用
# 基本数据类型分类 - int 整数 - float 小数 - bool 布尔值 - str 字符串 ## int 整数 - 包括正整数和负整数 - 与java.c等语言相比并没有位数限制,理论上可 ...
- MyFirstDay(附6篇python亲历面试题)
一直以来都是在看别人写的内容,学习前辈们的经验,总感觉自己好像没有什么值得拿出来分享和交流的知识,最近在准备换工作(python后端开发),坐标上海,2019年3月,半个月面了6家(感觉效率是真不高. ...
- 一个操作轻松截取长图,Win10上网截长图小技巧!
截屏的方法有很多,但是有时候我们会遇到比电脑屏幕还大的图,比如网站上的长图.N条引用的评论...你要怎么截取呢?是不是最多只能截全屏?还是要做到第三方的截图软件呢? 下面介绍一种win10电脑自带的滚 ...
- Reward HDU - 2647
传送门 Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to dis ...
- Java石头剪刀布小游戏
package com.neusoft.test; import java.awt.BorderLayout; import java.awt.Choice; import java.awt.Colo ...