Cordova + Ionic 框架 - 如何安全地更改包名称?

Posted

技术标签:

【中文标题】Cordova + Ionic 框架 - 如何安全地更改包名称?【英文标题】:Cordova + Ionic framework - How to safely change package name? 【发布时间】:2015-02-05 09:47:36 【问题描述】:

我想将安装包的默认名称从默认com.ionicframework.starter更改为com.something.something,请问我该如何安全地做到这一点?我应该编辑什么?

感谢您的任何建议。

【问题讨论】:

【参考方案1】:

您应该在项目根目录下的 config.xml 中进行此更改。例如,您可能有这样的事情:

<widget id="com.ionicframework.exampleproject223738" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

将 id 更改为您希望包的任何值,它将适用于整个项目,androidios

但是,如果您已经使用包名提交到应用商店,此时您无法更改包名。除非你想提交一个新项目。必须使用匹配的包名称进行更新。

问候,

【讨论】:

这实际上不是 100% 正确的。如果您的目标是 android,就像 OP 所指出的那样,在添加插件和/或为 Android 构建时,您可能会在 java MainActivity 类中遇到包名称问题。 您可能还需要更改 MainActivity.java 类包定义和路径位置。例如:移动 /platforms/android/src/com/ionicframework/[defaultappname]/ => /platforms/android/src/com/yournew/appidhere/ 并相应更改 MainActivity.java 中的包定义:package com.ionicframework.defaultname123456789;package com.yournew.appname; 您不需要接触任何 Java 或 Android 代码。您应该在更改包名称后清理您的项目,它会为您重新生成所有内容。 如何清理项目? 您好,我找不到 config.xml 文件【参考方案2】:

我所做的只是: a) 转到 MainProjectFolder -> config.xml 并找到显示的行

&lt;widget id="io.ionic.starter" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"&gt;

b) 将 io.ionic.starter 更改为 com.myproject.mobile(反向域 - 这就是他们所说的,对) c) 保存文件。 d) 删除平台文件夹。 e) 打开命令提示符并 - 平台添加安卓 - 构建安卓 -> 构建 --release android -> 使用 keytool 生成密钥 -> 使用 jarsigner 对 apk 进行签名 -> 使用 zipalign 优化代码(有关这些命令的精彩文档,请参阅:https://ionicframework.com/docs/v1/guide/publishing.html。 f) 此过程从 config.xml 文件中获取包名称并从头开始构建 apk,因此无需按照建议重置任何插件。但我对此并不陌生。经验丰富的人可能会指出其他含义。但这对我来说效果很好,我已经成功地将我的第一个移动应用程序部署到了 Google Playstore。 希望这会有所帮助。

【讨论】:

【参考方案3】:

这就是我所做的,

    在 config.xml 中更改包名 输入“离子修复”

就是这样。

它删除/添加平台,删除/添加节点包并做其他事情,但一切都是自动的。

【讨论】:

【参考方案4】:

在 config.xml 中更改包名是第一步,还需要执行其他步骤来解决操作员关于“安全”更改包名的问题。

@ananth 给出了实际的答案。但是,由于我在 Ionic 3 上进行了测试和验证,因此可以进一步简化它。

    在 config.xml 中更改包名称 删除一个平台,ionic cordova platform rm &lt;platform&gt; 重新添加平台,ionic cordova platform add &lt;platform&gt; 如果平台是 Android,请重新生成签名密钥。这个page (https://forum.ionicframework.com/t/how-to-automatically-sign-android-applications-with-the-ionic-cli/87449) 提供了最简单、最安全的过程。

【讨论】:

【参考方案5】:

应该只更新 config.xml 中的包名并重新安装所有插件 ionic state reset --plugins ;注意确保所有插件都列在 package.json 中。

【讨论】:

看起来现在的咒语是 [ ionic cordova prepare ]

以上是关于Cordova + Ionic 框架 - 如何安全地更改包名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Ionic Cordova 框架和自签名证书绕过 iOS 11 中的 SSL 检查

ionic 和cordova的区别是啥

Cordova笔记三:ionic+angular+cordova技术栈

WebApp开发框架Ionic+AngularJS+Cordova

如何在 Ionic 移动应用程序中为 $cordova 本地通知的本地图像设置图标?

ionic 和cordova的区别是什么