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

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

感谢您的任何建议。

【问题讨论】:

    标签: android cordova packages ionic-framework


    【解决方案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 并找到显示的行

    &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】:

      这就是我所做的,

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

      就是这样。

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

      【讨论】:

        【解决方案4】:

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

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

        1. 在 config.xml 中更改包名称
        2. 删除一个平台,ionic cordova platform rm &lt;platform&gt;
        3. 重新添加平台,ionic cordova platform add &lt;platform&gt;
        4. 如果平台是 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 ]
          猜你喜欢
          • 2018-06-10
          • 2017-12-23
          • 2020-11-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多