1. 生成R文件

> aapt package -f -m -J ./gen -S res -M AndroidManifest.xml -I D:\android.jar

-f 如果编译生成的文件已经存在,强制覆盖。

-m 使生成的包的目录存放在-J参数指定的目录

-J 指定生成的R.java 的输出目录路径

-S 指定res文件夹的路径

-I 指定某个版本平台的android.jar文件的路径

-A 指定assert文件夹的路径

2. Java代码生成class文件

> javac -target 1.5 -bootclasspath D:\android-sdk-windows\platforms\android-8\android.jar -d bin src\demo\project\*.java gen\demo\project\R.java

-target 生成特定 VM 版本的类文件

-bootclasspath 覆盖引导类文件的位置

-d 指定存放生成的类文件的位置

-sourcepath 指定查找输入源文件的位置

3. class文件生成dex文件

dx --dex --output=D:\ProjectDemo\bin\classes.dex D:\ProjectDemo\bin

--output=

4. 打包资源

> aapt package -f -M AndroidManifest.xml -S res -I D:\android-sdk-windows\platforms\android-8\android.jar -F bin\resources.ap_

-f 如果编译生成的文件已经存在,强制覆盖

-M 指定AndroidManifest.xml的路径

-S 指定res文件夹路径

-I 指定某个版本平台的android.jar的路径

-F 指定输出文件完整路径

5. 生成apk

apkbuilder D:\ProjectDemo\bin\projectdemo.apk -v -u -z D:\ProjectDemo\bin\resources.ap_ -f D:\ProjectDemo\bin\classes.dex -rf D:\ProjectDemo\src

-v Verbose 显示过程信息

-u 创建一个无签名的包

-z 指定apk资源路径

-f 指定dex文件路径

-rf 指定源码路径

6. 创建密匙

>keytool -genkey -alias release -keyalg RSA -validity 20000 -keystore release.keystore

-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书

-alias 产生别名

-keyalg 指定密钥的算法

-validity 指定创建的证书有效期多少天

-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)

7. 签名apk

jarsigner -verbose -keystore C:\Users\UserName\Desktop\build\release.keystore -storepass antmima -keypass antmima -signedjar D:\ProjectDemo\bin\projectdemo-signed.apk D:\ProjectDemo\bin\projectdemo.apk release

-verbose 签名/验证时输出详细信息

-keystore 密钥库位置

-storepass 用于密钥库完整性的口令

-keypass 专用密钥的口令(如果不同)

-signedjar 已签名的 JAR 文件的名称 (第一个apk是签名之后的文件, 第二个apk是需要签名的文件)

android项目编译命令行,命令行编译Android项目相关推荐

  1. Linux下编译build的命令,Linux命令行下编译Android NDK的示例代码

    这几天琢磨写一个Android的Runtime用来加速HTML5 Canvas,让GameBuilder+CanTK 不但开发速度快,运行速度也能接近原生应用.所以花了点时间研究Android NDK ...

  2. 命令行开发、编译、打包Android应用程序

    Android SDK提供了一系列命令行工具,用来进行Android应用的开发.调试.打包等工作!Eclipse能够进行Android应用开发的相关工作,也是调用了这些工具而已. 只有掌握了命令下的工 ...

  3. 一步步通过命令行cl.exe编译Windows程序

    Windows系统下有强大的IDE工具VS,VC6.0等,隐藏了很多编译和链接的细节.        事实上,VS是通过调用cl.exe进行源代码编译.接着调用link.exe进行目标文件的链接等操作 ...

  4. 28和lba48命令格式区别_编译Sass(命令行)

    本文作者:开课吧无忧 图文编辑:开三金 sass编译有很多种方式,如命令行编译模式.编辑器自动编译.编译软件koala.sass-loader等. 今天我们就先来看第一种:命令行编译 刚才我在test ...

  5. java文件编译为class文件需要键入什么命令_cmd命令行 编译Java 文件

    [问题引入] 很多时候,需要用到命令行来进行Java文件的编译.在用习惯了IDE 可能会不清楚如何在cmd命令行窗口进行编译,简单的都还好,带有包路径的可能会让很多人觉得有点小头疼.最近试了一下,发现 ...

  6. ARM学习(15)Makefile编译以及CortexM4命令行STLINK 烧录

    笔者来聊聊Makefile编译以及CortexM4命令行STLINK 烧录 Makefile编译以及CortexM4命令行STLINK 烧录 1.简单Makefile编译STM32工程 1.1 mak ...

  7. java 编译文件 命令,CMD命令行编译运行单个java文件

    java文件中不含包名 这种情况比较简单 public class NoPackage{ public static void main(String[] args){ System.out.prin ...

  8. 解决命令行下java编译javac不成功java和java -version可以成功的三种解决方案

    最近在cmd命令行下javac编译java文件不成功,但是输入java和java -version没问题 在CSDN看了一下午各路大神的回答,自己总结一下三个解决方法: 1.如果cmd下输入java或 ...

  9. keil使用命令行编译_使用命令行编译C51源码并生成HEX文件的示例

    参考Keil\C51\HLP\C51.pdf以及A51.pdf文档,示例及说明如下: set PATH=%PATH%;G:\develop\keil\C51\BIN;G:\develop\keil\C ...

  10. Android 常用命令行和 源码编译

    1.取出 ANR log,分析问题 C:\Users\Administrator>adb shell root@android:/ # cd data/ar cd data/ar /system ...

最新文章

  1. 年轻人的第一块金牌:我是如何成为 Kaggle 全网第一的
  2. gnupg环境搭建时遇到的问题
  3. hihocoder #1388 : Periodic Signal NTTFFT
  4. JDK12的五大重要新特性
  5. alexnet vgg_从零开始:建立著名的分类网2(AlexNet / VGG)
  6. The return types for the following stored procedures could not be detected
  7. 使用php进行后台开发,PHP后台开发用到的基础方法整理【原创】
  8. 从头到尾谈一下HTTPS
  9. RadioButton 与 XML 之间的协调使用
  10. EF 4.3 Code-Based Migrations
  11. 见证“开放式多路供水”的技术难度应大于人类上天!
  12. 时间序列数据挖掘综述
  13. android系统修改开机动画效果,Android手机开机动画的修改
  14. php 微信下载临时素材,php 微信开发之新增上传/获取下载临时素材
  15. linux fstab错误无法启动,Linux 系统 fstab错误导致系统无法启动的修复
  16. 选项不属于HTML语言特点,JavaScript选择题
  17. U系银河麒麟配置本地镜像源
  18. Unity游戏开发客户端面经——lua(初级)
  19. 第一章第十三题(代数:求解2 × 2线性方程组)(Algebra: solve 2 × 2 linear equations)
  20. java如何将二进制转换为十进制 1

热门文章

  1. fastlane use_legacy_build_api true
  2. 【Lolttery】项目开发日志 (三)维护好一个项目好难
  3. [20170617]vim中调用sqlplus.txt
  4. Tiny框架2.0版火热推出
  5. deep learning入门学习
  6. linux下编译安装MySQL5.6新版本
  7. 演示:Linux工程环境应用实训(防火墙、NAT、静态路由)详细配步骤
  8. Server 2012 Hyper-v新功能之二:自动化支持技术
  9. Altiris™ IT Management Suite 7 Release Notes
  10. java 添加用户 数据库,跟屌丝学DB2 第二课 建立数据库以及添加用户