在本地发布Phonegap应用版本(无需使用Phonegap Build)

4
我最近完成了我的第一个使用Phonegap的混合应用项目。当进行公测时,我对签名过程有些担心。我从这里和其他网络地方阅读了许多不同的建议来解决这个问题。
以下是逐步构建并正确签署发布版本以在Google Play Store中发布的详细步骤。希望能帮到你。祝好!
Phonegap签名和发布流程 开始之前:
  • 确保您的$JAVA_HOME路径中有Java JDK,请在终端中键入$JAVA_HOME并检查正确的Java路径
  • 打开Android项目中的androidMainfest.xml,并将application标记中的android:debuggable更改为false
1. 生成私钥

创建私钥(永远不要丢失它!) - 我将密钥保存在个人.ssh文件夹中,因此所有密钥都在同一位置 - 它将要求您输入密码和一些个人详细信息 - 确保用您的密钥库名称和别名替换[key_name]和 [key_alias] (也不要丢失!)


cd /Users/[username]/.ssh
keytool -genkey -v -keyalg RSA -keystore [key_name].keystore -alias [key_alias] -keysize 2048 -validity 50000
  • 为了在此项目中后续使用密钥库文件的路径和key_alias,需要在platforms/android文件夹中创建一个新的ant.properties文件,并放入以下内容: (根据您的实际情况更改[username]、[key_name]和[key_alias])

[ant.properties] 文件:


key.store=/Users/[username]/.ssh/[key_name].keystore
key.alias=[key_alias]

2. 构建 release-unsigned.apk

  • 切换到您的应用程序的 Android 平台目录,并运行 ant 命令。
cd platforms/android
ant release

3. 签名apk

  • 请确保将[username]替换为您的用户名
  • [key_name][key_alias]替换为密钥详细信息(来自步骤1)
  • [appname]替换为...-release-unsigned.apk的名称
  • 系统会要求您输入密钥库密码(在步骤1中设置)

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /Users/[username]/.ssh/[key_name].keystore [appname]-release-unsigned.apk [key_alias]

4. 创建最终版APK

  • [appname]替换为你的应用名称,并构建最终发布文件。
zipalign -v 4 [appname]-release-unsigned.apk [appname].apk

5. 将最终版本上传至Google Play商店

最终的应用程序发布现在可以在您的Android项目的bin文件夹中找到,它的名称为[应用程序名称].apk。使用Google Play开发者控制台(https://play.google.com/apps/publish)上传该文件。

创建一个Google组或Google+组,并将其命名为您的应用程序的alpha/beta测试组。该组中的每个人都可以在应用商店中看到您的测试版本并安装它。这是一个非常有用的工具,相比于iOS的复杂流程更加方便实用。

祝愉快测试 :)


在第四步时我遇到了一个问题。Zipalign无法识别。解决方法是导航到zipalign.exe,可以在此处找到:android-sdk\build-tools\build-tools-(sdk-number),然后在那里运行命令。另一种解决方法是将zipalign.exe复制到android-sdk\tools中。更多信息 - Sjoerd Pottuit
1个回答

0

1
当然可以,最好使用GruntJS作为任务运行器来完成这个任务。 - mrmoree
绝对的,我还没有开始做那件事,我很想看到cordova/phonegap整合一些标准钩子来压缩东西。 - andmar8

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