zoukankan      html  css  js  c++  java
  • Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包

    官方文档:https://developer.Android.com/tools/publishing/app-signing.html

    1. 默认为debug mode,使用的签名文件在: $HOME/.android/debug.keystore

    2. Release Mode 签名:

     build.gradle:

        

     1 android {  
     2     signingConfigs {  
     3         releaseConfig {  
     4             keyAlias 'stone'  
     5             keyPassword 'mypwd'  
     6             storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')  
     7             storePassword 'mypwd'  
     8         }  
     9     }  
    10         buildTypes {  
    11            release {  
    12              ...  
    13              signingConfig signingConfigs.release  
    14            }  
    15         }  
    16   
    17 }  

    signingConfigs 即签名配置。 配置名releaseConfig{ //配置内容 }

    在buildTypes中指定release时的signingConfigs对应的配置名 

    执行gradle 命令, $ gradle assembleRelease 

    编译并发布。 在build/outputs/apk/ 下能看到未签名的apk 和 已经签名的apk

    如果未用签名文件,使用debug mode的debug签名。那就会生成一个debug签名的apk

    3. 签名密码写在gradle中不安全:

    signingConfigs { //gradle assembleRelease  
        myConfig {  
            storeFile file("stone.keystore")  
            storePassword System.console().readLine("
    Keystore password: ")  
            keyAlias "stone"  
            keyPassword System.console().readLine("
    Key password: ")  
        }  
    }  


    这样在命令 执行 命令时,就会被要求输入密码

    4. 使用Android Studio 签名打包

       菜单 Build > Generate Signed APK

    5. 使用Android Studio 自动签名打包

       a. 打开project structure (cmd+;)

       b. 选中需要构建的moudle,打开Signing,添加config

       

          执行完成后,会在build.gradle中自动加上 signingConfigs{ config {...} }的信息

       c. 打开build types > release

        在signing Config中选择定义的配置

        zip align enabled 默认为true, 用于启用优化Apk的操作

       d. $ gradle build

          会在build/outputs/apk/ 目录下输出 在build types中定义的 编译类型

         如:

      myapplication-debug-unaligned.apk
      myapplication-debug.apk
      myapplication-release-unaligned.apk
      myapplication-release-unsigned.apk
      myapplication-release.apk

    6. 使用Android SDK 和 JDK 的命令 签名打包APK

     创建签名
      keytool -genkey -v -keystore stone.keystore -alias stone -keyalg RSA -keysize 2048-validity 10000  生成签名文件
     为apk签名
      jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore stone.keystore unsigned.apk stone 不生成新文件
     检测apk是否签名
      jarsigner  -verbose -certs -verify signed.apk 
     优化apk
      zipalign -f -v 4 signed_unaligned.apk signed_aligned.apk 

    转自:http://blog.csdn.net/jjwwmlp456/article/details/44942109#comments

  • 相关阅读:
    hihocoder 1142 三分·三分求极值(三分)
    poj 3304 Segments(计算直线与线段之间的关系)
    poj 1269 Intersecting Lines(判断两直线关系,并求交点坐标)
    poj 2398 Toy Storage(计算几何 点线关系)
    poj 2318 TOYS(计算几何 点与线段的关系)
    计算几何基础(模板)
    Jmeter-基本组成
    java-面向对象
    性能测试基础
    java-多线程
  • 原文地址:https://www.cnblogs.com/Sharley/p/5995865.html
Copyright © 2011-2022 走看看