通过ant脚本,编译打包android工程方法步骤如下:
1.Android程序编译、打包、签名、发布的三种方式:
方式一:命令行手动编译打包
方式二:使用ant自动编译打包
方式三:使用eclipse+ADT编译打包
2.Android编译、打包的步骤:
2.1第一步 生成R.java类文件:
Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。
2.2第二步 将.aidl文件生成.java类文件:
Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成.java文件。
2.3第三步 编译.java类文件生成class文件:
Eclipse中自动生成,ant和命令行使用jdk的javac编译java类文件生成class文件。
2.4第四步 将class文件打包生成classes.dex文件:
Eclipse中自动生成,ant和命令行使用android SDK提供的dx.bat命令行脚本生成classes.dex文件。
2.5第五步 打包资源文件(包括res、assets、androidmanifest.xml等):
Eclipse中自动生成,ant和命令行使用Android SDK提供的aapt.exe生成资源包文件。
2.6第六步 生成未签名的apk安装文件:
Eclipse中自动生成debug签名文件存放在bin目录中,ant和命令行使用android SDK提供的apkbuilder.bat命令脚本生成未签名的apk安装文件。
2.7第七步 对未签名的apk进行签名生成签名后的android文件:
Eclipse中使用Android Tools进行签名,ant和命令行使用jdk的jarsigner对未签名的包进行apk签名。
这个ant脚本只能编译打包一个单独的android工程或依赖一个library 的android工程
首先配置ant的环境变量,这个我就不多少了,自己查。
‘贰’ android studio怎么使用Build工具进行签名打包
首先说一下Android studio如何进行打包:
博主测试新建了一个packaging的工程
还是先看一下目录结构,因为打包的时候和Eclipse不一样,可以自选的,最好不要用默认的目录结构
好,下面来看看如何进行打包
签名文件所要放的位置,帐号密码,以及别名
这里说一下,签名最好放在工程的根目录下,一个人开发的话,或者不是很保密的,其他的按照实际情况来
这里因为是新建的key,不能进行第二个选项
下面附图说明
没有的话是ok选项是不能点击的
点击create,会出现如下界面,英语不难,大家按照相应的填写就可以了
这里路径选择按照上面说的根目录就可以了
as貌似默认的是jks格式的,但是Eclipse貌似默认的keystore格式的,只是加密方式不一样,其他的不影响
确认后返回原来界面相应的都会进行自动补充
这里为了以后简便可以选择记录密码
到了这我要着重说一下,上面是apk包存放的位置,第二个是打包方式,第三个博主没用过
这个是默认的目录结构,大家可以对照第一张图片,就知道这个目录结构在哪了,它在as中是会进行加载的,不会隐藏,如果少的话还好,要是多的话这个会占目录结构的很大一部分,所以最好不要选择这个目录结构,那么选在哪呢?
其实as早就替你想到了,而且目录机构都给你构建好了
直接选在apk这就可以可,至于打包方式大家就按照默认的,release就可以,下面说为什么
好,选择ok,继续下一步,看出现的结果
这里出现了两个安装包,直接就是英文翻译就可以,一个是签名的一个是未签名的,未签名的话打包是不能进行使用的,然后就是说上面选择打包方式release,为什么不选择debug,debug默认不签名,而且对一些文件图片的格式校验比较松,还有就是一些string.xml文件或其他xml文件命名校验不是很严格,不必进行强制编译
反过来,看一下现在的目录结构
因为签名过了,并且博主记录了密码,以后打包就会方便了,来看看as比ec强大的地方
这里面很全,clean,debug,release等等,以后包多的话就知道好处了,现在就一个,但是相对也是比较方便的
双击release,打包,build successful打包完成
下面看一下如何获取签名,博主为了方便,把签名文件放在了根目录下了
这里要输入密码,而且没有光标显示
所有签名信息都可以查到了
‘叁’ 如何反编译android应用并重新打包
反编译android步骤入下:
第一:使用apktool直接反编译apk
第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
‘肆’ 打包android时构建成功,编译失败,求帮助
编译成功只能说明你没犯常识型错误,比如说漏写 ; 或 " 等等 组建失败,请仔细检查程序,看有没函数拼写错误,注意大小写等,仔细看下!!
‘伍’ 如何用命令行编译打包生成apk
一、搭建搭建环境
1. 安装JDK 和 Android SDK
2. 配置环境变量
D:\android-sdk-windows\tools
C:\Program Files\Java\jdk1.6.0_20\bin
3. 例子信息
项目目录:D:\ProjectDemo
SDK目录 :D:\android-sdk-windows\platforms\android-8\
二、命令行编译Android项目
1. 生成R文件
2. Java代码生成class文件
3. class文件生成dex文件
4. 打包资源
5. 生成apk
6. 创建密匙
7. 签名apk
‘陆’ 安卓打包安装程序是什么
打包安装程序是用来安装软件的程序,例如APK就是安装包。
APK是类似SymbianSis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件后缀名为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM executes的简称,即Android Dalvik执行程序。
Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别。
APK文件的结构
1、META-INF(注:Jar文件中常可以看到);
2、res(注:存放资源文件的目录);
3 、AndroidManifest.xml(注:程序全局配置文件);
4、 classes.dex(注:Dalvik字节码);
5、resources.arsc(注:编译后的二进制资源文件)。
‘柒’ 自己可以编译安卓源码吗
用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:
sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”
其中[email protected]为你自己的邮箱.
简要说明
android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.
源码下载
由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)
repo工具下载及安装
通过执行以下命令实现repo工具的下载和安装
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:
我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:
这里写图片描述
执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.
错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:
通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.
结束吧
到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.