andorid 命令行添加证书真机无法安装(有图有真相)

来源:互联网 发布:5g网络股票代码 编辑:程序博客网 时间:2024/05/29 18:57

这两天项目组需要自定义android apk,看了两天的命令行打包apk,发现了几个问题,现在跟大家分享下,写的不好欢迎踊跃拍砖哈。亲,包邮哦!

 

1.首先要用的几个命令我一次贴上来

 ----- --------------------------------华丽的分割线------------------------------------------------
                 1.使用aapt生成R.java类文件:

                        D:\test\YQL>
                        aapt p -f -m -J gen -S res -I android.jar -M AndroidManifest.xml

                       

                 2.编译.java类文件生成class文件:

                        D:\test\YQL>
                        javac -classpath android.jar -d bin src\cn\ffcs\yql\activity\*.java src\cn\ffsf\jql\base\*.java src\cn\ffsf\jql\utils\*.java gen\cn\ffcs\yql\activity\R.java

                        

              3.使用android SDK提供的dx.bat命令行脚本生成classes.dex文件:

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

                     

              4.这生成应用程序apk文件

                      D:\test\YQL>
                      aapt p -f -F yql.apk -v -u -z -M AndroidManifest.xml -S res -A assets -I android.jar

                     

               5.把前面生成的classes.dex文件压缩到apk文件,最终生成可运行的apk应用程序

                      D:\test\YQL>
                      aapt add yql.apk bin\classes.dex

                     

              6.生成签名文件

                    D:\test\YQL>

                    keytool -genkey-v -keystoremy-release-key.keystore-alias alias_name-keyalg RSA -keysize2048 -validity10000

                   

              7.生成的apk进行自动签名,无签名的apk是无法安装。

                     D:\test\YQL>
                     jarsigner -verbose -keystore ffcs-yql-key.keystore yql.apk alias_name

                    

              8.优化APK

                    D:\test\YQL>
                    zipalign -v 4 D:\test\YQL\yql_signed.apk E:\yql.apk

                 


---------------------------------华丽的分割线-----------------------------------------------------

都有注释我就不重复了啰嗦了

 

2.为了避免路径跳来跳去,一次配置好环境变量好了。

----------------------------------轻轻的割一下--------------------------------------------------------

                     C:\Program Files\Java\jdk1.6.0_10\bin;
                     E:\android-sdk-windows\platforms\android-7\tools

                     E:\android-sdk-windows\tools

----------------------------------轻轻的割一下--------------------------------------------------------

不是copy我这个到环境变量里,写出路径是想让你们看清除引用那些路径,我这个项目用的是android 2.1 所以引用的是android-7\tools

 

3.把项目所用到的android.jar 放到D:\test\YQL下,也就是你的项目工程目录下。

 

 

-------------------------------------------------------------------------------------------------------------很能割---------------------------------------------------------------------------------------------------------

执行到此基本上可以生成可执行的APK,接下来就是真机测试的问题了。

 

1.真机测试老是提示未安装程序       

           原因:如果在安装之前你安装了eclipse 在项目工程下bin\*.apk  那么请 先卸载,再安装 因为在eclipse生成的apk 是加了证书的,你现在做的release 证书和eclipse生成的证书不一样,所以不能安装新证书的APK文件

2.没有加证书的apk 不能安装

 

3.手动打包APK 和网络 文件流一起,可以生成很个性化的apk文件,本文意义所在啦。

 

 

各位大侠如果有什么错误,欢迎大家往死里拍,谢谢了!!!