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 更改为您希望包的任何值,它将适用于整个项目,android 和 ios。
但是,如果您已经使用包名提交到应用商店,此时您无法更改包名。除非你想提交一个新项目。必须使用匹配的包名称进行更新。
问候,
【讨论】:
这实际上不是 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 并找到显示的行
<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">
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 <platform>
重新添加平台,ionic cordova platform add <platform>
如果平台是 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 检查
Cordova笔记三:ionic+angular+cordova技术栈
WebApp开发框架Ionic+AngularJS+Cordova