Phonegap build 本地发布版本(不含Phonegap Build)

Posted

技术标签:

【中文标题】Phonegap build 本地发布版本(不含Phonegap Build)【英文标题】:Phonegap build release version locally (without Phonegap Build) 【发布时间】:2014-06-19 10:35:51 【问题描述】:

我最近使用 phonegap 完成了我的第一个混合应用项目。 当谈到公开 Beta 测试时,我有点害怕签名过程。 我从这里阅读了许多不同的 sn-ps 建议,也从网络中的其他地方阅读了这些建议。

以下是如何构建并正确签署发布版本以在 google play store 中发布的分步说明。

希望对您有所帮助。干杯


Phonegap 签名和发布流程

开始之前:

确保您的 $JAVA_HOME 路径中有 java jdk 检查它在您的终端中键入 $JAVA_HOME 并检查路径是否正确 从您的 android 项目中打开 androidMainfest.xml 并将 application-tag 中的 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 以供以后在此项目中使用,请在平台/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

切换到应用的platforms 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 playstore

现在可以在您的 android 项目的 bin 文件夹中找到最终的应用版本 它被命名为 [appname].apk 使用 google play 开发者控制台 (https://play.google.com/apps/publish) 上传该文件

创建一个 google 群组或 google+ 群组,并将其命名为您的应用的 alpha/beta 测试群组。该组中的每个人都可以在应用商店中看到您的测试版本并进行安装。非常方便的工具,而不是复杂的ios流程。

愉快的测试:)

【问题讨论】:

在第 4 步我遇到了问题。无法识别 Zipalign。作为解决方案,我导航到 zipalign.exe 可以在这里找到:android-sdk\build-tools\build-tools-(sdk-number) 在那里运行命令。另一种解决方案是将 zipalign.exe 复制到android-sdk\tools。 More info 【参考方案1】:

...不要忘记尽可能缩小代码并删除发布版本上的控制台日志记录

http://jscompress.com/

https://developers.google.com/closure/compiler/

http://closure-compiler.appspot.com/home

【讨论】:

是的,当然……最好是使用 gruntjs 作为任务运行器 当然,从来没有这样做过,我很想看到 cordova/phonegap 包含一些标准的钩子来缩小东西

以上是关于Phonegap build 本地发布版本(不含Phonegap Build)的主要内容,如果未能解决你的问题,请参考以下文章

本地数据未在 phonegap build + appframework 应用程序中加载

PhoneGap build中如何维护手机app版本信息?

Urban Airship phonegap 3.5 with Phonegap Build

Phonegap Developer App 和 Phonegap Build 有不同的行为

iOS - 应用程序图标支持带有不同支持iOS版本的Phonegap Build Project的错误

Adobe PhoneGap Build (iOS) 和 PushWoosh