NativeScript 构建 - 执行静态绑定生成器时出错:Class 未找到 android.support。v4.view.ViewPager.OnPageChangeListener

NativeScript Build - Error executing Static Binding Generator: Class not found android.support.v4.view.ViewPager.OnPageChangeListener

我是 NativeScript 的新手,接手了一个最近从 NativeScript 4 升级到 6 的项目。这是我的环境细节:

我可以使用“tns create”创建一个新的本机脚本项目,build/run它在模拟器中就好了。但是,当我尝试 运行 项目时,构建会抛出以下错误:

java.lang.RuntimeException: Class not found android.support.v4.view.ViewPager.OnPageChangeListener
    at org.nativescript.staticbindinggenerator.Generator.getClass(Generator.java:551)
    at org.nativescript.staticbindinggenerator.Generator.getInterfacesFromCache(Generator.java:534)
    at org.nativescript.staticbindinggenerator.Generator.writeBinding(Generator.java:283)
    at org.nativescript.staticbindinggenerator.Generator.generateBinding(Generator.java:171)
    at org.nativescript.staticbindinggenerator.Generator.processRows(Generator.java:234)
    at org.nativescript.staticbindinggenerator.Generator.generateBindings(Generator.java:121)
    at org.nativescript.staticbindinggenerator.Generator.writeBindings(Generator.java:97)
    at org.nativescript.staticbindinggenerator.Main.main(Main.java:55)

这是我正在使用的 运行 命令:“tns 运行 android --emulator”

我已经尝试了大量的事情和搜索,但没有运气解决这个问题。

所以我有了一个主意,并使用与我通常使用的搜索引擎不同的搜索引擎进行搜索。我确实找到了一些帮助我解决问题的想法。

我之前在 VSCode 中搜索过“android.support.v4.view.ViewPager.OnPageChangeListener”的变体,但只找到了有错误的日志文件。然后我了解到您必须更改 find in file 搜索的过滤器选项,否则您要查找的文件可能会从搜索结果中排除。我还使用 Baregrep 来确认我得到了所有东西。

我通过替换所有匹配项解决了这个问题:

android.support.v4.view.ViewPagerandroidx.viewpager.widget.ViewPager

您可能还需要安装小部件:npm i tns-core-modules-widgets

由于我进行更改的文件都是非项目文件(其中许多在 node_modules 目录中),因此可能还有其他涉及更新 Node 或 NativeScript 的内容也可以解决此问题。

如果其他人解决了这个问题,我会关注这个帖子的更新,在此先感谢您!