• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android应用程序(APK)的编译打包过程,androidapk

Android应用程序(APK)的编译打包过程,androidapk

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了androidapk反编译,android源码编译apk,android 编译apk,androidstudio打包apk,android studio apk等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android应用程序(APK)的编译打包过程,androidapk


流程图:     我们重点关心的是(1)这个过程的输入是什么?(2)这个过程的输出是什么?(3)这个过程使用了什么工具?至于使用什么参数,可以自己去看对应命令的帮助文件,或者在网上搜索,这不是本文的重点。 aapt-> aidl -> javac-> dx(dex)-> apkbuilder-> jarsigner-> zipalign   步骤中提到的工具如下表:
名称 功能介绍 在操作系统中的路径
aapt Android资源打包工具 ${ANDROID_SDK_HOME}/platform-tools/appt
aidl Android接口描述语言转化为.java文件的工具 ${ANDROID_SDK_HOME}/platform-tools/aidl
javac Java Compiler ${JDK_HOME}/javac或/usr/bin/javac
dex 转化.class文件为Davik VM能识别的.dex文件 ${ANDROID_SDK_HOME}/platform-tools/dx
apkbuilder 生成apk包 ${ANDROID_SDK_HOME}/tools/opkbuilder
jarsigner .jar文件的签名工具 ${JDK_HOME}/jarsigner或/usr/bin/jarsigner
zipalign 字节码对齐工具 ${ANDROID_SDK_HOME}/tools/zipalign
第一步:打包资源文件,生成R.java文件 编译R.java类需要用到AndroidSDK提供的aapt工具,aapt参数众多,以下是主要参数:   aapt编译R.java文件具体如下: 需要进入应用程序目录,新建一个gen目录,没有gen目录,命令将会出现找不到文件的错误! 命令成功执行后将会在gen目录下生成成包结构的目录树,及R.java文件!   列子:       第二步:处理AIDL文件,生成对应的.java文件(当然,有很多工程没有用到AIDL,那这个过程就可以省了)   将.aidl文件生成.java文件需要用到AndroidSDK自带的aidl工具,此工具具体参数如下: 例子:       第三步:编译Java文件,生成对应的.class文件   javac命令用法如下:   例子:   javac -encoding utf-8 -target 1.5 -bootclasspath E:\Androiddev\android-sdk-windows2.2\platforms\android-3\android.jar -d bin src\com\byread\reader\*.java gen\com\byread\reader\R.java      第四步:把.class文件转化成Davik VM支持的.dex文件   将工程bin目录下的class文件编译成classes.dex,Android虚拟机只能执行dex文件!   例子:     第五步:打包生成未签名的.apk文件   【输入】打包后的资源文件、打包后类文件(.dex文件)、libs文件(包括.so文件,当然很多工程都没有这样的文件,如果你不使用C/C++开发的话) 【输出】未签名的.apk文件 【工具】apkbuilder工具 apkbuilder工具用法如下:   列子: apkbuilder  ${output.apk.file} -u -z  ${packagedresource.file} -f  ${dex.file}  -rf  ${source.dir}  -rj  ${libraries.dir}    第六步:对未签名.apk文件进行签名 【输入】未签名的.apk文件 【输出】签名的.apk文件 【工具】jarsigner     第七步:对签名后的.apk文件进行对齐处理(不进行对齐处理是不能发布到Google Market的)     【输入】签名后的.apk文件 【输出】对齐后的.apk文件 【工具】zipalign工具       知道了这些细节之后,我们就可以实现很多我们想实现东西了,比如:自动化,我们可以使用某种脚本,像Windows下的批处理,linux下的Bash,Java下的Ant,Python、Perl这样的脚本语言,甚至直接用Java、.net这们的强类型语言也是可以的。    

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android应用程序(APK)的编译打包过程,androidapk
  • Android源码中内置包含so文件的APK文件,androidapk

相关文章

  • 2017-05-26android 仿摩拜单车共享单车进度条实现StepView,androidstepview
  • 2017-05-26硅谷新闻8--TabLayout替换ViewPagerIndicator,tablayoutindicator
  • 2017-05-26手机IMEI获取,imei获取
  • 2017-05-26可展开的列表组件——ExpandableListView深入解析,expandablelist展开
  • 2017-05-26Android学习笔记(31):滚动视图ScrollView浅析
  • 2017-05-26Android 应用程序集成FaceBook 登录,androidfacebook
  • 2017-05-26android自定义activity,androidactivity
  • 2017-05-26android:省市二级联动下拉框
  • 2017-05-26安开发卓之Notification(一)代码直接能用,安开发notification
  • 2017-05-26activity的横屏和竖屏设置,activity

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Fragment 重叠 遮盖问题,fragment遮盖
    • Android中View的滑动冲突——Android开发艺术探索笔记
    • Glide,glideandroid
    • Android中Activity运行时屏幕方向与显示方式详解,androidactivity
    • 应用的全屏和非全屏,应用全屏全屏
    • MaterialRefreshLayout,swiperefreshlayout
    • Android中的Menu,AndroidMenu
    • Android 如何本地加载pdf文件,android加载pdf
    • Android 拨号器的简单实现,android拨号器实现
    • 仿拉手团购App8-- 更多模块,拉手团购app8--模块

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有