在 Android 上运行 nativescript 应用程序时出错
Posted
技术标签:
【中文标题】在 Android 上运行 nativescript 应用程序时出错【英文标题】:Error while running nativescript application on Android 【发布时间】:2019-04-06 16:12:26 【问题描述】:线程“主”java.io.IOException 中的异常:文件已存在。这可能会导致不良行为。 请更改其中一个扩展类的名称。
这里我使用的是使用 javascript 的 nativescript。当我运行tns run android
时出现错误
File:E:\project\mobile application\ngasceapp\platforms\android\app\sr
lete\AutoCompleteAdapter_autocomplete_63_32_AutoCompleteAdapter.java
我删除了 hook、node_module 和平台文件夹并尝试仍然遇到同样的错误。
这是 package.json 文件
"description": "Application",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "NativeScript Application",
"repository": "<fill-your-repository-here>",
"nativescript":
"id": "com.max.sagar",
"tns-ios":
"version": "5.0.0-rc-2018-10-11-110051-01"
,
"tns-android":
"version": "4.2.0"
,
"scripts":
"lint": "eslint \"app/**/*.js\""
,
"dependencies":
"moment": "2.22.2",
"moment-timezone": "^0.5.21",
"nativescript-accordion": "^5.0.4",
"nativescript-appavailability": "^1.3.1",
"nativescript-appversion": "^1.4.1",
"nativescript-calendar": "^2.0.0",
"nativescript-cardview": "3.1.1",
"nativescript-cfalert-dialog": "^1.0.11",
"nativescript-checkbox": "^3.0.3",
"nativescript-dev-sass": "^1.6.0",
"nativescript-email": "1.5.3",
"nativescript-exoplayer": "^3.4.1",
"nativescript-fancyalert": "2.0.0",
"nativescript-floatingactionbutton": "4.1.4",
"nativescript-fresco": "5.0.0",
"nativescript-image-cache-it": "^4.0.4",
"nativescript-insomnia": "1.2.2",
"nativescript-iqkeyboardmanager": "^1.3.0",
"nativescript-loading-indicator": "^2.4.0",
"nativescript-local-notifications": "^2.0.3",
"nativescript-openfile": "0.0.11",
"nativescript-orientation": "2.2.1",
"nativescript-pdf-view": "^2.0.1",
"nativescript-permissions": "^1.2.3",
"nativescript-phone": "^1.3.1",
"nativescript-screen-orientation": "^2.0.0",
"nativescript-sqlite": "2.2.3",
"nativescript-theme-core": "^1.0.4",
"nativescript-ui-autocomplete": "^3.9.0",
"nativescript-ui-calendar": "^3.6.0",
"nativescript-ui-dataform": "3.7.3",
"nativescript-ui-listview": "^3.7.2",
"tns-platform-declarations": "^4.2.1"
,
"devDependencies":
"awesome-typescript-loader": "~5.2.1",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "6.18.0",
"clean-webpack-plugin": "~0.1.19",
"copy-webpack-plugin": "~4.5.3",
"css-loader": "~1.0.0",
"eslint": "~5.7.0",
"extract-text-webpack-plugin": "~3.0.2",
"fs-extra": "^7.0.0",
"grunt-cache-bust": "^1.7.0",
"lazy": "1.0.11",
"nativescript-dev-typescript": "^0.7.4",
"nativescript-dev-webpack": "^0.16.2",
"nativescript-worker-loader": "~0.9.1",
"raw-loader": "~0.5.1",
"resolve-url-loader": "~3.0.0",
"sass-loader": "7.1.0",
"typescript": "^2.8.3",
"uglifyjs-webpack-plugin": "2.0.1",
"webpack": "^4.20.2",
"webpack-bundle-analyzer": "3.0.2",
"webpack-sources": "1.3.0"
【问题讨论】:
我可以知道你的package.json
中有什么吗?
我上传了 package.json 文件作为答案,因为 *** 无法处理大代码
在这种情况下,您可以使用问题中的编辑选项。将其发布为答案不是正确的选择。
【参考方案1】:
nativescript-ui-dataform
插件本身具有 nativescript-ui-autocomplete@3.9.0
作为依赖项。您在 package.json
中使用 nativescript-ui-autocomplete
作为依赖项,并带有 ^
符号,它将安装最新的主要版本 3.10.1
。因此,您将拥有相同插件的 2 个版本,这就是问题的原因。
尝试删除 ^
符号并将其保留为 3.9.0
。
来源:https://github.com/telerik/nativescript-ui-feedback/issues/802#issuecomment-415662716
【讨论】:
【参考方案2】:检查您的 node_module 文件夹。
nativescript-ui-dataform 和 nativescript-ui-listview 也有 node_modules。 删除它们并再次运行 tns run android。
由于它们两个组件都具有自动完成的依赖关系,因此您拥有相同的多个副本。
【讨论】:
以上是关于在 Android 上运行 nativescript 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章
Android Studio Google Maps 可在 Android 设备上运行,但不能在模拟器上运行
Flutter Geolocator 无法在 Android 上运行,但可以在 iOS 上完美运行
请! Kivy 应用 Buildozer 可在 Windows 上运行,但不能在 Android 上运行