【问题标题】:Ionic CLI not generating release build for AndroidIonic CLI 不为 Android 生成发布版本
【发布时间】:2015-10-28 01:37:32
【问题描述】:

当我使用命令时:cordova build --release android CLI 抛出以下错误:

Error: Cannot find module 'minimatch'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (C:\Users\sologic\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\glob\glob.js:44:17)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)

但是当我使用 Ionic Lab (Windows Installer) 并使用 Build 选项时 - 它会在 android\build\outputs\apk 文件夹中生成“android-debug.apk”和“android-debug-unaligned.apk”。

注意它不会生成android-release-unsigned.apk

我的问题是:

1:CLI 出了什么问题??

2:我可以使用android-debug-unaligned.apk 进行签名(使用jarsigner)和对齐(使用zipalign)在Google Play 上提交吗??

请指教。

【问题讨论】:

    标签: android cordova ionic-framework ionic


    【解决方案1】:
    1. 此时 IONIC CLI (v1.7.6) 没有任何问题,因为我每天都在使用它。

      • 通过这个命令ionic --version检查你的CLI版本,看看你的版本是否低于1.7.6。
      • 如果您的 CLI 较旧,请再次运行 npm install -g ionic 以安装最新版本的 Ionic CLI。
      • 如果没有,请尝试重新创建所有新项目,并尝试再次构建,如果可以,只是因为您的项目:
        • ionic start appName blank
        • ionic platform add android
        • ionic build android --release
    2. 您不能将调试 apk 用于 Google Play,因为他们可以读取您的 APK 并检查是调试版本还是发布版本。但我认为您可以将 AndroidManifest.xml 中的 debug mode 设置为 false 并尝试这样:

    3. Ionic 还提供了一个 package 云服务,对于 Ionic CLI 中的非插件项目非常有用。它可以在一分钟内在云端构建您的所有项目,您可以随时下载apk。

      • 通过 Ionic CLI 将其 cd 到您的 ionic 项目文件夹。
      • 运行 ionic package build android 等待进度完成。
      • 运行ionic package list 获取列表并查看是否已完成构建进度。
      • 运行ionic package download [id] 将您的apk 下载到您的项目文件夹。 id 是您在list 中看到的数字。
      • 这些命令将帮助您构建调试 apk,对于发布版本,请检查此 ionic.io package documents 以使用 profile(密钥库)构建。

    【讨论】:

    • 感谢 Nam 抽出时间回答我的问题。但是,我将项目文件夹复制到另一台机器上(这次是在 64 位 Windows 7 上)并运行 cordova build --release android 命令,它完美地生成了“android-release-unsigned.apk”可能是什么原因这个?
    • 对您有帮助吗?
    • 嗨,南...再次感谢。 ..我没有像你提到的那样创建一个新项目和测试。相反 - 我将整个项目文件夹复制到我的家庭系统(这次是在 64 位 Windows 7 上).. 从 '..\platforms\android' 目录中删除了 'build' 文件夹......然后运行 ​​'cordova build --release android' 命令...它顺利地生成了发布版本。不知道为什么它在我的办公室电脑上不起作用??任何想法 ?? .....与科尔多瓦有关! (node_modules\cordova\node_modules\cordova-lib\node_modules\glob\glob.js:44:17) ???
    • 嗯,这可能是因为您办公室 PC 中的当前 CLI 或缺少一些节点模块,这就是为什么我认为应该创建一个新项目并在您的办公室 PC 上对其进行测试以检测真正的问题。如果因为 CLI 可以重新安装,否则您的项目可能会丢失一些东西,将 www 文件夹中的所有源代码复制到新项目可能会解决这个问题。
    • 好的.. 太好了.. 将很快到达办公室.. 并测试它.. 我会在接下来的 2 小时内通知您。谢谢 Nam .. 是的 .. 这是我在 Ionic 论坛上发布的关于 CLI 安装的另一个问题:forum.ionicframework.com/t/failed-to-install-latest-cli/… ..
    猜你喜欢
    • 1970-01-01
    • 2019-03-13
    • 1970-01-01
    • 2016-10-09
    • 2018-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多