欢迎使用CSDN-markdown编辑器

1.配置好环境变量

  • $JAVA_HOME\bin;
  • $ANDROID_HOME\sdk\tools;
  • $ANDROID_HOME\platform-tools;
  • $ANDROID_HOMEG\build-tools\23.0.3;

2.创建一个Android项目

  • 使用以下命令创建一个Android项目:
    android create project -n HelloWorld -t 24 -p J:\CK_23\第四阶段Android\20170317手动编译\code -k com.test.helloworld -a HelloWorld
  • 参数的意义
    -n 项目的名称
    -t 项目针对的android平台
    -p 项目保存的路径
    -k 项目的包名
    -a 指定的Activity名称

命令
这里写图片描述

3.使用aapt编译资源生成R.java

  • 新建一个文件夹gen,使用下列命令生成R.java
    aapt package -f -m -J gen -S res -I G:\android-sdk-windows\platforms\android-19\android.jar -M AndroidManifest.xml
  • 命令参数的意义
    -f 如果编译出来的文件已经存在,强制覆盖。
    -m 使生成的包的目录放在-J参数指定的目录。
    -J 指定生成的R.java的输出目录
    -S res文件夹路径
    -A assert文件夹的路径
    -M AndroidManifest.xml的路径
    -I 某个版本平台的android.jar的路径
    -F 具体指定apk文件的输出

命令
没有错误提示就是成功了,并且会在\gen\com\test\helloworld文件夹中创建一个R.java文件,其中记录着资源ID

4.使用javac编译java源码生成.class文件

  • 使用javac命令编译.java文件:
    javac -d bin src\com\test\helloworld*.java gen\com\test\helloworld*.java -bootclasspath G:\android-sdk-windows\platforms\android-19\android.jar
  • 命令参数的意义
    -target:表示编译之后的class文件运行的环境版本
    -bootclasspath:表示编译需要用到的系统库
    -d:表示编译之后的class文件存放的目录

命令
在\bin\com\test\helloworld目录下生成了.class文件
命令

5.使用dx命令生成.dex文件

  • 使用dx命令生成.dex文件
    dx –dex –output= bin\classes.dex bin

命令
命令

特别值得注意的是在这个地方特别容易出错,第一次生成.dex文件时,就产生了一堆unsupported class file version 52.0的错误;
命令
在网上找到的答案就是说jdk版本太高,然后换把版本换成了jdk1.7, 结果还是出现了一个错误,最后换成jdk1.6错误还是存在;
命令
最后差点放弃了。然后看到此链接中所讲的Android使用 Java 8 语言功能 中所讲的,
命令
因此猜测是不是使用的build版本太高了(刚开始使用的是24.0.3版本),然后把环境变量中的build-tools\24.0.3改成了build-tools\23.0.3,jdk的版本低于1.8,最后dx命令就成功了。

6.使用aapt命令生成资源包文件(包括res、assets、androidmanifest.xml等)

  • 使用aapt命令生成资源包
    aapt package -f -m -J gen -S res -I G:\android-sdk-windows\platforms\android-19\android.jar -M AndroidManifest.xml -F bin\HelloWorld.ap_
    命令
    命令

7.生成未签名的apk

  • 使用java命令生成未签名的apk包:
    java -cp G:\android-sdk-windows\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain HelloWorld_unsigner.apk -v -u -z bin\HelloWorld.ap_ -f bin\classes.dex -rf src

命令
sdk更新3.0以后貌似apkbuilder已经被删除了

8.利用JAVASDK提供的keytools工具生成证书文件

  • 使用KeyTool命令生成证书:
    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

命令
命令

9.通过jarsigner命令用证书文件对未签名的APK文件进行签名

  • 使用jarsigner命令签名:
    jarsigner -verbose -keystore HelloWorld.keystore -signedjar HelloWorld_signer.apk HelloWorld_unsigner.apk HelloWorld.keystore

命令
命令

10.安装,启动

  • 使用adb命令安装apk:
    adb install HelloWorld_signer.apk

命令
命令

参考连接:
apk打包之用纯命令行打包apk(android4.4亲测可用)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值