• android 打包和签名 大致流程



    首先是解包  
    注意 这里必须将cmd 的当前位置改到apktool 文件夹下。 不然就会报错说找不到 aapt.exe  , 当然也能够增加到系统path中


    apktool d .apk folder 

     这步之后就是改动smali 代码或者是.so文件了
     改好之后使用


    apktool b folder   

     然后folder 文件中就会出现一个apk  
    之后就是签名问题了
    签名有3条路走, 一条是使用jdk , 一条是使用android的signapk 。还有就是集成工具


    1  创建key,须要用到keytool.exe (位于jdk1.6.0_24jrein文件夹下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24in文件夹下),把上两个软件所在的文件夹加入到环境变量path后,打开cmd输入


    D:>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
    /*说明:-genkey 产生密钥
           -alias demo.keystore 别名 demo.keystore
           -keyalg RSA 使用RSA算法对签名加密
           -validity 40000 有效期限4000天
           -keystore demo.keystore */
    D:>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
    /*说明:-verbose 输出签名的具体信息
           -keystore  demo.keystore 密钥库位置
           -signedjar demor_signed.apk demo.apk demo.keystore 正式签名。三个參数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/

      注意事项:androidproject的bin文件夹下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在project点击右键->Anroid Tools-Export Unsigned Application Package导出的apk採用上述步骤签名。

    引用  http://www.cnblogs.com/qianxudetianxia/archive/2011/04/09/2010468.html

    另外自己在操作过程中遇到一个问题,还有解决方法 :

          keytool 错误: java.io.FileNotFoundException: android.keystore (拒绝訪问。)

    主要原因是安装JDK在C盘,没有写权限,所以报错

    能够更改文件夹解决 改为例如以下

    C:Program FilesJavajdk1.7.0_65in>keytool -genkey -alias andro
    eyalg RSA -validity 30000 -keystore D:/keyStore/android.keystore

    放在D盘,完美解决


    2  android 源代码自带的signapk工具  须要用到证书

        1.进入<Android_Source_Path>/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。

        2.进入<Android_Source_Path>/build/tools/signapk找到SignApk.java,执行javac编译成SignApk.class

        3.运行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk


     

    3就是使用自己主动签名工具了, 比方androidresedit , 原理事实上就是上述的第二条。仅仅是自己主动化了一下。

    当然签名文件夹中证书什么是能够换的  


    终于这3中方法都是能够生成签过名的apk的 ,当然 大牛看看即可。不要吐槽我们这些菜逼。

    。。

    END 


     
  • 相关阅读:
    [大牛翻译系列]Hadoop(4)MapReduce 连接:选择最佳连接策略
    [大牛翻译系列]Hadoop(2)MapReduce 连接:复制连接(Replication join)
    [大牛翻译系列]Hadoop(3)MapReduce 连接:半连接(Semijoin)
    [大牛翻译系列]Hadoop(1)MapReduce 连接:重分区连接(Repartition join)
    Springboot启动流程分析
    行为型模式模板&策略&命令
    Springboot自动装配原理
    Springboot零配置原理
    行为型模式中介者&迭代器&访问者
    结构型模式组合&享元
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7255575.html
Copyright © 2020-2023  润新知