如何在不使用 Android Studio 的情况下签署 Android apk。

4

我发现很多答案都令人困惑:如何在没有Android Studio的情况下签署(发布/调试)安卓应用程序(例如,在签署ionic/cordova/phonegap应用程序时)?

4个回答

3

所以,截至目前为止,正确而简单的答案是:

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

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

     keytool -genkey -v -keystore <KEYSTORE_FILE_NAME>.keystore -alias <ALIAS_NAME> -keyalg RSA -keysize 2048 -validity 10000
     

跟着进行,并填写<ALIAS_NAME>和密码(将它们写在您能找到的地方!)

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

  2. 在两个文件中输入以下配置(您可以稍后更改密钥库以加强发布版本的安全性...):

     keyAlias=ALIAS_NAME
     keyPassword=ALIAS_PASSWORD
     storeFile=KEYSTORE_FILE_NAME
     storePassword=KEYSTORE_PASSWORD`
     
  3. 运行构建...


2
以上命令的文档已在https://developer.android.com/studio/build/building-cmdline#sign_cmdline中记录。 - Richard Möhn

3
你可以在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.

0

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

只需要两个步骤:
- 使用keytool创建您的密钥库和证书:创建单个密钥库时将创建第一个证书。然后,通过再次调用具有相同密钥库名称的keytool命令来创建其他证书
- 然后使用jarsigner。在准备jarsigner命令时,最好区分jar输入文件名和生成的签名jar文件名。


0

Ionic团队提供了一个很好的点子,你可以通过访问这个链接来跟随,并且你可以在10分钟内完成。

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

但是你需要安卓软件开发工具包(SDK)才能做到这一点...

要设置ANDROID_HOME

在Windows操作系统中

set ANDROID_HOME=Path to sdk 

基于Linux的系统

export ANDROID_HOME=Path to sdk

跟随以下步骤:

  1. 创建发布应用程序

  2. 创建密钥库

  3. 签署APK


1
重要的是要对此有清晰的理解,因此我添加了这个答案,在签署APK之前,需要删除一些插件,这些事情不应该被忽视... - Gopinath Kaliappan
当然,您还需要设置路径以包括sdk的平台和工具文件夹...有许多前提条件,但如何正确设置密钥库是缺失的部分。 - rubmz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接