【问题标题】:How to force refresh the cached source files upon Ionic build/run?如何在 Ionic 构建/运行时强制刷新缓存的源文件?
【发布时间】:2015-11-18 18:23:10
【问题描述】:

ionic buildionic run 有这个随机问题。

我注意到在编译期间它使用了我的源代码的缓存,因此在进行新更改时它不会反映重新编译应用程序。

所以我的问题是,如何清除构建文件的缓存?我试过ionic state reset,但它仍然不起作用,也没有卸载然后从我的Android重新安装应用程序。

谢谢

【问题讨论】:

  • @SwapnilShende 我认为这不是一个重复的问题,因为我的问题是 Ionic 构建而不是视图。
  • 这真的发生了吗?我不确定这一点。如果你能重现它,然后在 github 上打开一个问题
  • @InfinitePrime 是的,我已经坚持构建一个小时了,我已经仔细检查了所有内容,但似乎它在构建时使用了缓存的源文件。我将尝试调查如何重现该问题。
  • 2 年,这似乎仍然是一个问题,因为它正在发生在我身上。如果不重新加载,实时重新加载有什么意义?每次都必须重新启动平台是可笑的。

标签: cordova ionic-framework ionic


【解决方案1】:

无需删除和添加平台,而是清除项目文件

安卓用户

cd android 

.gradlew clean

ios用户

cd ios
xcodebuild clean

最后一步

npx jetify

npx cap sync

【讨论】:

    【解决方案2】:

    试试

    ionic repair
    

    这是您所有软件包的完整版本 官方文档:https://ionicframework.com/docs/cli/commands/repair

    【讨论】:

    • 这也适用于 pwa 构建问题,而不仅仅是 Android 和 iOS。
    【解决方案3】:

    我解决问题的方法是重新初始化 Android 平台。

    ionic cordova platform remove android 然后ionic cordova platform add android

    转到任务管理器并杀死 java se 进程

    【讨论】:

    • 在 ionic 2 中使用 ionic cordova platform update android
    • 对于我使用的 ionic 3:ionic cordova platform remove android ionic cordova platform add android<br>
    • 我在 Ionic V3 中解决了一个类似的问题:cordova clean
    【解决方案4】:

    删除平台:

    ionic cordova platform rm android
    

    重新添加平台:

    ionic cordova platform add android
    

    步骤1)复制www文件夹特定平台

    ionic cordova prepare android
    

    步骤 2) 构建 apk

    ionic cordova build android
    

    第 3 步)在设备中部署最新的 apk

    ionic cordova run android
    

    【讨论】:

      【解决方案5】:

      如果你使用cordova build,sudo cordova build <platform>

      sudo cordova prepare
      

      在您的 cordova 项目根文件夹中。

      此命令反映您对构建的更改(所有平台)。

      【讨论】:

        【解决方案6】:

        为了补充@Renesaensz 的解决方案,在 ionic 4.5.0(或更高版本)中,将 cordova 添加到命令中:

        • ionic cordova平台删除android

        然后是离子

        • ionic cordova平台添加android

        【讨论】:

          【解决方案7】:

          我遇到的问题是应用程序会使用 npm run dev 在本地加载最新更改,但是当我尝试使用 cordova run android 在我的设备上运行时,它会加载旧版本。我尝试了上面的所有建议,但没有任何效果。我终于发现,如果我在使用cordova 对我的设备进行构建之前执行npm run build,它将加载新版本。希望这对某人有所帮助。

          【讨论】:

            【解决方案8】:

            我已经从platforms/android/build/outputs/apkionic cordova run android 中删除了android-debug.apk。它在没有缓存的情况下工作。

            【讨论】:

              【解决方案9】:

              想回答这个问题,因为它浪费了我一些真正宝贵的时间。

              我清空了platforms 文件夹并再次构建解决方案。顺便说一句,我正在使用 Visual Studio 进行开发。我应该解决这个问题。

              这很明显,但仍想重申平台不应成为源代码控制的一部分。

              希望对你有帮助。

              【讨论】:

                【解决方案10】:

                您需要在 config.xml(位于项目文件夹的顶部)上增加您的应用版本,以在运行之前反映您的更改:

                <widget id="com.yourapp.id" version="0.0.8" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"
                

                在本例中,将属性版本增加到 0.0.9:version="0.0.9"

                然后run androidrun ios

                【讨论】:

                • 快速方式,如果您要更改 config.xml 上的某些内容。
                • 我已经运行了删除和添加平台不起作用,如果删除和添加平台不会改变任何东西,这是唯一可行的解​​决方案
                【解决方案11】:

                这可能是 Ionic 的一个错误,但要修复它通常我只需 ctrl+c 然后 gulp 然后重新运行 ionic serve。

                【讨论】:

                  猜你喜欢
                  • 2016-05-03
                  • 1970-01-01
                  • 2016-05-18
                  • 1970-01-01
                  • 2022-01-23
                  • 1970-01-01
                  • 2015-02-09
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多