【问题标题】:cordova update android version without any loss科尔多瓦更新android版本没有任何损失
【发布时间】:2019-10-20 10:09:10
【问题描述】:

我正在尝试使用以下命令在我的 cordova 项目中更新我的 android 版本:

cordova platform update android

但这是回应:

Using cordova-fetch for cordova-android@~7.0.0
Updating android project...
(node:4188) UnhandledPromiseRejectionWarning: An in-place platform update is not supported. 
The `platforms` folder is always treated as a build artifact in the CLI workflow.
To update your platform, you have to remove, then add your android platform again.
Make sure you save your plugins beforehand using `cordova plugin save`, and save 
a copy of the platform first if you had manual changes in it.
    cordova plugin save
    cordova platform rm android
    cordova platform add android

(node:4188) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4188) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

我担心如果我这样做了,我会丢失我所做的一些自定义设置(比如丢失应用程序图标、启动屏幕,并且我编辑了一个方法,以便在应用程序处于全屏模式时键盘可见)

可以通过什么方式实现吗?

【问题讨论】:

标签: android cordova updates data-loss


【解决方案1】:

应用程序图标、启动屏幕和其他资源位于platforms 文件夹之外。删除和读取android平台只会删除platforms/android文件夹中的内容。

您应该只担心在平台文件夹中从某个平台手动编辑了某些内容,通常您不需要这样做。这种做法非常不鼓励,不是我而是 Apache Cordova 指南,它们是完全正确的:始终避免从平台文件夹手动编辑,除非您绝对确定没有其他方法。

【讨论】:

  • 你肯定丢失了platforms/android/build.gradle 文件,幸好我能够从存储库中恢复它的内容
  • @ToniMichelCaubet 这就是我所说的,但是再次添加平台/建筑时会自动生成 build.gradle 文件。
  • 在我的情况下是的,但是我所做的所有自定义都丢失了,还有它没有生成的 androidManifest。我将不得不问另一个问题,因为我无法构建 Android..
【解决方案2】:

应用图标和启动画面的变化

应用程序图标和启动画面位于resources 文件夹中,因此如果您删除您的平台,它不会影响任何内容。如果您手动添加了任何图标,请确保在更新之前在 config.xml 中添加一个条目。

任何插件的变化

如果您更改了任何插件,请执行以下步骤

  • 检测您更改代码的插件。
  • 搜索插件存储库并将其分叉。
  • 更改您在平台代码中所做的一切。
  • 将您的代码推送到 GitHub。
  • 删除那个插件(cordova plugin rm <plugin_id>)。
  • 添加插件 (cordova plugin add https://github.com/xxxxxx/xxxxxxxx)。 (如果您认为您的方法对其他人有帮助,那么您也可以在父插件中提出 PR)

【讨论】:

    猜你喜欢
    • 2017-01-11
    • 2014-11-21
    • 2016-10-30
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2017-09-07
    • 2016-08-11
    • 1970-01-01
    相关资源
    最近更新 更多