如何在没有 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的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 SDK 的情况下“下载”Android Studio IDE?

如何在没有 USB 数据线的情况下使用 Android Studio 在手机中安装 Android

如何在不下载 Android Studio 的情况下下载 Android SDK?

如何在没有 Android Studio 的情况下使用模拟器在 VS 代码中安装颤振?

如何在不使用 android studio 的情况下下载 android 模拟器

在没有Android Studio的情况下为Android创建(Cmake)C / C ++库