当前位置:   article > 正文

Android打包技术之命令行打包_cmd 使用命令行打包android项目

cmd 使用命令行打包android项目

1.先进入到当前项目所在目录下。

2.当前目录下使用aapt命令,生成R文件。

    <aapt所在路径> package  -f -m -J <生成的R文件所在的目录> -S res -M AndroidManifest.xml  -I  <sdk所在路径>\platforms\android-4.2\android.jar

     回车,就在 <生成的R文件所在的目录> 目录下看到了生成的R文件了。

   我自己的完整命令是:

D:\adt-bundle-windows\sdk\platform-tools\aapt package -f -m -J D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\gen -S res -M AndroidManifest.xml -I D:\adt-bundle-windows\sdk\platforms\android-4.2\android.jar

3.aidl(Android Interface Definition Language)命令,根据.aidl定义文件生成java文件

  先略过,目前项目暂时还没用到aidl

4.javac,编译源文件

   还是在当前项目的目录下使用javac命令。我使用的完整命令是:

javac -encoding utf-8 -target 1.6 -d bin src/com/example/dex/*.java gen/com/example/dex/R.java -bootclasspath D:\android-sdk-windows\platforms\android-8\android.jar

  读者在使用时,可以将-d后的两个参数 分别对应你自己项目的src文件目录和已经生成的R.java文件;-bootclasspath后面对应android.jar对应的路径。

这里可能遇到两个问题:

1.目标版本 1.6 与默认的源版本 1.X 冲突

2.Dx bad class file magic (cafebabe) or version (0033.0000) 


解决办法是:PC安装的java版本和编译的target参数最好都是1.6,1.7编译的话,打包会出问题。

5.dx命令,打包dex文件

D:\android-sdk-windows\platform-tools\dx.bat --dex --output=D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\bin\classes.dex D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\bin
然后可以看到生成dex文件了。
解决办法和上面一样是: PC安装的java版本和编译的target参数最好都是1.6,1.7编译的话,此刻打包就出现问题了。

6.aapt将资源文件打包

D:\android-sdk-windows\platform-tools\aapt package -f -M AndroidManifest.xml -S res -A assets -I D:\android-sdk-windows\platforms\android-8\android.jar -F bin\resouces.ap_
可以看到bin文件夹下生成resouces.ap_文件了。

参数说明:

-f 强制覆盖

-M 指定Manifest文件

-S 指定资源目录

-A 指定资产目录

-I 指定引入的类库

-F 指定要生成的包

7.apkbuilder命令打包

D:\android-sdk-windows\tools\apkbuilder.bat <打包的apk放置的位置> -u -z <已经生成的_ap文件位置> -f <dex文件位置> -rf <项目的src目录的位置>
我的打包命令是:
D:\android-sdk-windows\tools\apkbuilder.bat D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\bin\test_unsined.apk -u -z D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\bin\resouces.ap_ -f D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\bin\classes.dex -rf D:\UserProfiles\nickwang\workspace\android-custom-class-loading-sample\src
生成apk包

8.生成签名证书

任意目录下,使用cmd命令:
keytool -genkey -alias release -keyalg RSA -validity 20000 -keystore release.keystore
然后依次输入密码,所在国家等信息,即可在当前目录下生成release.keystore

9.对apk进行签名

jarsigner -keystore release.keystore -storepass <密码> -keypass <密码>  -signedjar <签名后的程序包所在位置> <待签名的程序包所在路径> release









声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/776678
推荐阅读
相关标签
  

闽ICP备14008679号