一、搭建搭建环境

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

1. aapt命令, 生成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. javac命令,生成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. dx 命令,把class文件转换为.dex文件

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

--output=

4. aapt命令,打包资源

> 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. apkbuilder命令,生成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. 签名

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是需要签名的文件)

java打包dex_Android 命令行编译、打包生成apk文件相关推荐

  1. 基于命令行编译打包phonegap for android应用

    也许你习惯了使用Eclipse编译和打包Android应用.不过,对于使用html5+js开发的phonegap应用,本文建议你抛弃Eclipse,改为使用命令行模式,绝对的快速和方便. 一直以来,E ...

  2. android+命令行编译,打包生成apk文件,Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包...

    默认为debug mode,使用的签名文件在: $HOME/.android/debug.keystore 比如 C:\Users\chengcj1.android\debug.keystore 1. ...

  3. 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.4.1

    网上的MapReduce WordCount教程对于如何编译WordCount.java几乎是一笔带过- 而有写到的,大多又是 0.20 等旧版本版本的做法,即 javac -classpath /u ...

  4. 命令行编译java项目_命令行编译运行java工程(转)

    平时建立Java工程都是借助eclipse或intellij这些ide编辑器来构建,对于java工程的实际编译执行原理,从未了解过.作为一个曾经的C++程序员,对于源码刨根问底的那份执着从未丢过.于是 ...

  5. Java script生成apk_Android 命令行编译、打包生成apk文件

    一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6. ...

  6. Java 命令行编译项目

    如果是用Exlipse, 第三方的包可以放在eclipse文件夹的jre包的lib文件夹中! (初学者的一些总结-高手们勿喷哈-) 原因: 以前一直用Eclispe编程环境运行Java.非常舒服,就像 ...

  7. andriod 自编译,打包生成apk文件--------------------cocos2d-x 3.0正式版本(7.7)

    一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1.6. ...

  8. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  9. 命令行下打包Qt程序

    命令行下打包Qt程序 上一节我们说了 命令行下编译Qt程序 https://blog.csdn.net/weixin_42837024/article/details/81945656 现在基于上次继 ...

最新文章

  1. window.location.Reload()和window.location.href 区别
  2. CentOS 7.2搭建NFS并使用
  3. 必须重启计算机才能关闭用户控制,Win10如何彻底关闭用户帐户控制?Win10关闭用户控制方法...
  4. 部署Apache服务器
  5. 学习笔记【2010/09/20-2010/11/27】
  6. arrylist和linked list区别
  7. 判断两颗棵二叉树是否相等
  8. linux内核支持2t,Linux 支持2T磁盘分区
  9. powerdesigner辅助导入导出excel文件
  10. 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)...
  11. 【Clickhouse】ClickHouse REST API(HTTP接口)及Engine引擎的使用
  12. c++界面设计皮肤工具
  13. 图形验证码实现(代码)
  14. JAVA期末考广东科技学院,我是叩丁狼广州Java老学员,我来说说自己的故事
  15. Makefile中的wildcard用法
  16. UE4中程序驱动的LookAt动画
  17. HP laser 108W无线连接
  18. html5 游戏 闪退,WeGame闪退怎么办?WeGame闪退的六种解决办法
  19. BK芯片,Wi-Fi6-数传ble-BK7256 BK7235 BK7258 BK7231 BK3633 BK3432 BK3437 BL2028
  20. 十秒钟入门一分钟搭建Discuz论坛

热门文章

  1. 提升系统 10 倍性能的 10 个建议!
  2. Hystrix降级逻辑中如何获取触发的异常?
  3. $.ajax的type属性,$.ajax中contentType属性为“application/json”和“application/x-www-form-urlencoded”的区别...
  4. java中日期怎么比较_如何比较Java中的日期?
  5. 1使用帝国cms开发微信小程序之开发前的约定
  6. Don‘t support broadcast for binaryOp,
  7. 即插即用 | S-FPN全新的金字塔网络,更适合轻量化模型的FPN
  8. opencv 选择矩形框
  9. Expected more than 1 value per channel when training, got input size torch.Size
  10. Can't connect to HTTPS URL because the SSL module is not available