由于是先写的word文档,所以排版不好,看不清的朋友可以直接下载附件里的doc。
有些网上的流程写的不全,所以做的时候出现许多问题,最后总结出了一套比较全面的流程,希望对大家有帮助!
Android命令行打包流程
流程图:
---------------------------------------------------------------------------
说明:
1.$AndroidSDK对应sdk路径
2.$AndroidProject对应 需打包的项目路径
3.android-X,X为sdk版本号,如2.2对应8,可在default.properties中查到当前版本号
注意:所有命令均在$AndroidProject路径下执行
参考:
http://www.189works.com/article-38119-1.html
http://www.cnblogs.com/jk1001/archive/2010/08/05/1793216.html
<!--[if !supportLists]-->1. <!--[endif]-->使用aapt生成R.java类文件
$AndroidSDK\platform-tools\aapt package -f -m -J gen -S res -I $AndroidSDK\platforms\android-X\android.jar -M AndroidManifest.xml
注:需要进入$AndroidProject应用程序目录执行,否则会 找不到文件的错误(ERROR: resource
directory 'res' does not exist)!
<!--[if !supportLists]-->2. <!--[endif]-->编译.java类文件生成class文件
javac -encoding UTF-8 -target 1.5 -bootclasspath $AndroidSDK\platforms\android-X\android.jar -d
bin src\*.java gen\cn\talico\ereader\R.java
gen\org\geometerplus\android\fbreader\api\ApiInterface.java gen\org\geometerplus\android\fbreader\network\BookDownloaderInterface.java
-classpath $AndroidProject\libs\$JarName.jar
注:src\*.java要替换为取所有子目录java文件的命令
-classpath后接引用的jar包 注意多个jar包用;分割
<!--[if !supportLists]-->3. <!--[endif]-->使用Android SDK提供的dx.bat命令行脚本生成classes.dex文件
$AndroidSDK\platform-tools\dx --dex --output=$AndroidProject\bin\classes.dex
$AndroidProject\bin
<!--[if !supportLists]-->4. <!--[endif]-->再次使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等)输出到bin目录下的temp.ap_
$AndroidSDK\platform-tools\aapt package -f -M AndroidManifest.xml
-S res -A assets -I $AndroidSDK\platforms\android-X\android.jar -F bin\temp.ap_
注:temp.ap_为生成的临时资源文件,名字与下一步一致
<!--[if !supportLists]-->5. <!--[endif]-->利用AndroidSDK提供的apkbuilder工具生成未签名的APK文件
$AndroidSDK\tools\apkbuilder $AndroidProject\bin\$ProjectName.apk
-v -u -z $AndroidProject\bin\temp.ap_
-f $AndroidProject\bin\classes.dex -rf $AndroidProject\src -nf $AndroidProject\libs
-rj $AndroidProject\libs -d
注:$ProjectName.apk为生成的apk的名字
<!--[if !supportLists]-->6. <!--[endif]-->利用JAVASDK提供的keytools工具生成证书文件
keytool -genkey -alias ${alias}-keyalg RSA -validity ${validity}
-keystore ${keystore} –dname "CN=${CN},OU=${OU},O=${O},L=${L},ST=${ST},C=${C}"
-keypass ${ keypass } -storepass ${storepass}
注:
${alias}生成的keystore别名
${validity}证书文件有效时间,单位年
${keystore}生成证书的名称,一般等于${alias}即可
${CN}为名字 姓氏
${OU}为单位
${O}为组织
${L}城市 区域
${ST}省 洲
${C}两字母国家代码
${ keypass }密码
${storepass}证书密码 一般等于${ keypass
}即可
例如:keytool
-genkey -alias HelloWorld.keystore -keyalg RSA -validity 1000 -keystore
HelloWorld.keystore -dname "CN=w,OU=w,O=localhost,L=w,ST=w,C=CN"
-keypass 123456 -storepass 123456
<!--[if !supportLists]-->7. <!--[endif]-->最后一步,通过jarsigner命令用证书文件对未签名的APK文件进行签名
jarsigner -keystore ${keystore} -storepass ${storepass} -keypass
${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias}
注:
${signed.apkfile}为签名后生成的apk
${unsigned.apkfile}为之前生成的未签名的apk路径
例如:
jarsigner -keystore
HelloWorld.keystore -storepass 123456 -keypass 123456 -signedjar b2.apk
bin\a1.apk HelloWorld.keystore
-----------------------------------------------------------------------------------------------------------------
分享到:
相关推荐
"SoEasy办公效率平台"是一款专为提升个人和团队办公效率设计的应用软件。这款平台集成了多种实用功能,旨在简化日常办公任务,提高工作效率。作为一款"办公好助手",它可能包含了文档管理、项目协作、日程规划、任务...
总的来说,“Android中英文电子词典源码(so easy)”项目涵盖了Android应用开发的基础知识,如UI设计、数据库操作、异步编程以及字符串处理等,对于学习Android开发尤其是词典类应用的开发具有很高的参考价值。...
SoEasy办公效率平台是一款办公人员必备工具。提供最易用、最集中、最专业OFFICE资源。 SoEasy办公效率平台功能: 1、包含Office中多个组件海量培训视频(Word,Excel,PowerPoint,Outlook等)。 2、文档及PPT...
本文将详细介绍EasyAR插件及其在Unity中的应用。 EasyAR插件概述: EasyAR是一款跨平台的AR引擎,支持多种设备,包括智能手机、平板电脑以及智能眼镜等。它为开发者提供了丰富的API和工具,用于构建AR应用,如图像...
【Android源码——中英文电子词典源码(so easy)】 这个压缩包包含了一个基于Android平台的中英文电子词典应用的源代码。开发者通过这份源码可以深入理解Android应用开发,特别是针对语言学习应用的开发技术。下面...
SoEasy办公效率平台,为提供办公人员办公必备工具,是全国最全面、最专业、最实用的办公辅助工具,专为提升办公能力,及办公效率的学习平台,由数名微软金牌讲师、资深顾问等组成的专家团队,以快速提升个人工作效率...
在Android开发中,有时我们需要为应用的UI添加一些独特的视觉效果,比如圆角图片、百叶窗动画等。Shaper库就是专为实现这类效果而设计的,它可以帮助开发者轻松地创建自定义视图显示。本文将深入探讨Shaper库在...
温度报警器SOEASY2010说明书
本项目"基于Android的移动应用中英文电子词典源码(so easy)"提供了一个简单易懂的源码示例,帮助开发者快速理解和实践Android应用开发。 首先,这个应用的核心功能是词典查询。它可能包含以下几个关键组件: 1. ...
压缩包中的“easyAR_Android”包含了Android平台所需的源代码和资源,使得开发者可以直接在Android Studio中进行编译和调试,大大简化了开发流程。 4. **发布命名要求** easyAR对于发布的应用有特定的命名要求,这...
标题 "EasyAR_Android_Demo_2018_03_06" 指的是一个基于EasyAR SDK的Android演示应用,该应用的版本日期为2018年3月6日。EasyAR是一款增强现实(AR)开发平台,它提供了用于创建AR应用程序的工具和服务。这个压缩包...
【标题】"Android源码——中英文电子词典源码(so easy).7z" 涉及的是一个Android应用程序开发项目,该项目旨在创建一个功能完善的中英文电子词典。开发者通过这个源码可以深入理解Android应用的构建过程,特别是...
本项目“Android应用设计源码-中英文电子词典源码so easy”提供了这样一个实例,对于初学者或希望提升Android技能的开发者来说,是一个宝贵的资源。 首先,我们要了解Android应用的基本结构。一个标准的Android应用...
【标题】"安卓Android源码——中英文电子词典源码(soeasy).zip" 提供的是一个基于Android平台的中英文电子词典应用的源代码,名为"soeasy",这是一款专为Android设备设计的软件,旨在帮助用户方便快捷地查找和学习...
物联网So Easy 基于Blynk平台的IOT项目实践 配套资源 本书是经典的、畅销的Spring学习和实践指南。第5版针对Spring 5进行了全面更新。第5版涵盖了Spring 5.0和Spring Boot 2.0里程碑式的更新。 全书分为5个部分,...
EasyGuide is an easy-to-use tool to create guide layer on Android using Kotlin, which supports adding highlight on any View on screen, or any item in RecyclerView or ListView, or any area in dialog....
这篇文档将深入解析《Android中英文电子词典源码(so easy)》这一毕业设计项目,旨在帮助读者理解和学习Android应用开发的相关知识。这个项目是一个适用于Android平台的电子词典应用,提供了便捷的中英文互译功能,...
This project evolved into module easyadapter Surf Android Standard repository (Documentation in Russian). It contains modules, which is used for developing Android projects by mobile studio Surf. Easy...