我该如何将我的Cordova应用发布到安卓应用商店?

8
如果有官方的 cordova 文档,我没能找到,并且希望您给我一个链接。我已经运行了 cordova run android 将应用部署到手机上,看起来很不错。现在,我准备将其打造成官方应用程序,供用户在 Android 应用商店下载。当我构建我的应用程序时,它会生成一个名为“CordovaApp-debug.apk”的文件。这个“debug”部分让我觉得这可能是错误的文件,但我不确定如何生成正确的文件。

1
希望能够帮到你:https://dev59.com/NGIj5IYBdhLWcg3wTTgG - Andreas Weswaldi
@AndreasWeswaldi 我希望这会起作用,尽管答案有点过时,而且是关于PhoneGap而不是Cordova的。虽然它可能仍然以相同的方式工作。谢谢 - Daniel Kaplan
那个问题可能有点过时了,但是信息仍然相关。 - sherb
您必须在发布到Play商店之前登录APK。 - Mohammed Imran N
@sherb 很好,我明天会试一下。你可以随意关闭这个问题。我会保留它,以便答案更容易被谷歌搜索到。 - Daniel Kaplan
1个回答

19
将混合应用程序部署到Google Play商店
这些步骤适用于Cordova,PhoneGap或Ionic。唯一的区别是,无论何时调用 `cordova`,都要将其替换为 `phonegap` 或 `ionic`,以适应您特定的情况。
完成开发并准备好部署后,请按照以下步骤操作:
  1. 打开一个命令行窗口(macOS和Linux上的终端或Windows上的命令提示符)。

  2. 进入 /path/to/your/project/,我们将其称为项目根目录。

  3. 在项目根目录时,从插件集中删除 "Console" 插件。

    命令为: cordova plugin rm cordova-plugin-console

  4. 仍然在项目根目录时,使用 cordova build 命令创建发布分发的 APK。

    命令为:cordova build --release android

  5. 上述过程将在文件夹 ProjectRoot/platforms/android/build/outputs/apk/ 中创建一个名为 android-release-unsigned.apk 的文件。

  6. 按照https://developer.android.com/studio/publish/app-signing.html#signing-manually中的说明对APK进行签名和对齐。

    这一步结束后,您获得的APK可以上传到Play商店。

注意: 对于新手或初学者,最后一步可能有些困惑。您可能会遇到一些问题,并且可能会有一些关于这些命令以及在哪里找到它们的疑问。

Q1. 什么是 jarsignerkeytool?
答: Android应用程序签名说明确实明确说明了 jarsignerkeytool 的含义,但如果在命令行窗口中遇到“command not found error”错误,则没有告诉您在哪里找到它们。

因此,如果您已将Java开发工具包(JDK)添加到PATH变量中,则运行指南中的命令即可正常工作。但是,如果您没有将其添加到路径中,则始终可以从JDK安装的bin文件夹访问它们。

Q2. zipalign 在哪里?
答: 有很高的可能性找不到 zipalign 命令并收到“command not found error”的错误提示。您可能会搜索 zipalign 并查找它的位置?

Zipalign 工具位于Android SDK安装文件夹中。在macOS上,默认位置为user-name/Library/Android/sdk/。如果转到该文件夹,您会发现许多其他文件夹,例如docsplatform-toolsbuild-toolstoolsadd-ons ...

打开build-tools文件夹。在这里会有许多按照您在Android SDK Manager中使用的构建工具链版本编号的文件夹。每个文件夹都包含ZipAlign。我通常选择带有最新版本的文件夹。随便打开一个。

在macOS或Linux上,您可能需要使用./zipalign而不是仅输入zipalign,正如文档中所述。在Windows上,zipalign足以。


你所参考的Android文档不再提到zipalign或jarsigner,但该页面提到了keytool。 - Luke
@Luke,由于我最近没有在Cordova上工作,所以可能在过去几年中有些变化。我可以在周末或不久的将来查一下并更新我的答案。感谢你提醒我。 :) - incorelabs

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