如何在没有 android studio 的情况下签署 android apk

Posted

技术标签:

【中文标题】如何在没有 android studio 的情况下签署 android apk【英文标题】:How to sign android apk without android studio 【发布时间】:2017-01-07 18:11:34 【问题描述】:

我发现很多在这个问题上令人困惑的答案:我如何签署(发布/调试)android 应用程序没有 Android Studio(例如签署 ionic/cordova/ phonegap 应用程序)?

【问题讨论】:

【参考方案1】:

您可以在 Gradle 文件中添加密钥存储。

 android 
    ...
    defaultConfig  ... 
    signingConfigs 
        release 
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) 
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            
        
    
    buildTypes 
        release 
            ...
            signingConfig signingConfigs.release
        
    

--> 使用 CMD 生成签名的 APK。

gradlew assemblerelease.

【讨论】:

【参考方案2】:

因此,迄今为止正确而简单的答案是:

    cd 到您的项目平台/android 文件夹中(如果不是 cordova/ionic 构建,可能只是您的主项目文件夹)。您应该在该文件夹中找到您的主要 build.gradle 文件。

    通过调用创建密钥库文件:

    keytool -genkey -v -keystore .keystore -alias -keyalg RSA -keysize 2048 -validity 10000

继续填写 和密码(将它们写在您可以找到的地方!)

    创建两个文件名为:debug-signing.propertiesrelease-signing.properties

    为两者输入以下配置(您可以稍后更改密钥库以加强发布构建的安全性...):

    keyAlias=ALIAS_NAME keyPassword=ALIAS_PASSWORD storeFile=KEYSTORE_FILE_NAME storePassword=KEYSTORE_PASSWORD`

    运行构建...

【讨论】:

上述命令记录在developer.android.com/studio/build/…中。【参考方案3】:

Ionic 团队对此查询给出了很好的想法,您可以点击此链接,您可以在 10 分钟内完成此操作

http://ionicframework.com/docs/guide/publishing.html

但是你需要 android sdk 来做到这一点......

设置ANDROID_HOME

窗户

set ANDROID_HOME=Path to sdk 

基于 Linux 的系统

export ANDROID_HOME=Path to sdk

要遵循的步骤

    创建发布应用

    创建密钥库

    签署 APK

【讨论】:

问题是要弄清楚它,所以我添加了这个答案,在签署APK之前,需要删除一些插件,这些事情不应该避免...... 当然,你也想设置路径包含sdk的platforms和tools文件夹...有很多先决条件,但是如何设置keystore是缺少的部分【参考方案4】:

我遇到了同样的问题。最简单的解决方案是通过 DOS 命令 keytool 和 jarsigner 回到基础。请注意,这些文件必须位于 jdk 目录中才能正常工作。

只需要做两个动作: - 使用 keytool 创建您的密钥库和证书:第一个证书是在您创建单个密钥库时创建的。然后,将通过使用 same 密钥库名称再次调用 keytool 命令创建其他证书 - 然后使用 jarsigner。在准备 jarsigner 命令时,首选区分 jar 输入文件名和生成的签名 jar 文件名

【讨论】:

以上是关于如何在没有 android studio 的情况下签署 android apk的主要内容,如果未能解决你的问题,请参考以下文章