首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么nativescript-phone (未能构建插件)不能在Android上工作?

为什么nativescript-phone (未能构建插件)不能在Android上工作?
EN

Stack Overflow用户
提问于 2022-04-04 14:38:03
回答 1查看 385关注 0票数 0

我正在尝试构建我们的NativeScript应用程序以在我的Android仿真程序上运行,但是我一直遇到这个特定的构建错误:

代码语言:javascript
复制
> Failed to build plugin nativescript-phone : 
Error: spawn ./gradlew ENOENT
Exception in thread "DisconnectableInputStream source reader" org.gradle.api.UncheckedIOException: java.io.IOException: Input/output error
        at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:62)
        at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
        at org.gradle.util.internal.DisconnectableInputStream$1.run(DisconnectableInputStream.java:127)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.io.IOException: Input/output error
        at java.base/java.io.FileInputStream.readBytes(Native Method)
        at java.base/java.io.FileInputStream.read(FileInputStream.java:279)
        at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:290)
        at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
        at org.gradle.util.internal.DisconnectableInputStream$1.run(DisconnectableInputStream.java:98)

我已经尝试过重新安装NativeScript,删除了我的node_modules,删除了Android。我试图从我的Package.json文件中删除nativescript-phone,运行ns干净,再次运行tns调试android,但它仍然不起作用。

我的Package.json:

代码语言:javascript
复制
   {
  "nativescript": {
    "id": "com.maxtoolbox.vrsta",
    "tns-android": {
      "version": "6.2.0"
    },
    "tns-ios": {
      "version": "6.5.2"
    }
  },
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "repository": "<fill-your-repository-here>",
  "dependencies": {
    "@angular/animations": "~8.2.0",
    "@angular/common": "~8.2.0",
    "@angular/compiler": "~8.2.0",
    "@angular/core": "~8.2.0",
    "@angular/forms": "~8.2.0",
    "@angular/platform-browser": "~8.2.0",
    "@angular/platform-browser-dynamic": "~8.2.0",
    "@angular/router": "~8.2.0",
    "@nativescript/theme": "~2.2.0",
    "html-entities": "^2.3.2",
    "lodash": "^4.17.21",
    "moment": "^2.29.1",
    "nativescript-angular": "~8.20.0",
    "nativescript-app-sync": "^1.0.7",
    "nativescript-background-http": "^4.2.1",
    "nativescript-camera": "^4.5.0",
    "nativescript-datetimepicker": "^1.2.2",
    "nativescript-email": "^1.5.5",
    "nativescript-exit": "^1.0.1",
    "nativescript-exoplayer": "^4.0.2",
    "nativescript-feedback": "^1.5.0",
    "nativescript-fingerprint-auth": "^7.0.2",
    "nativescript-iqkeyboardmanager": "^1.5.1",
    "nativescript-pdf-view": "^2.1.0",
    "nativescript-permissions": "^1.3.8",
    "nativescript-phone": "^1.4.1",
    "nativescript-plugin-firebase": "^10.3.0",
    "nativescript-plugin-statusbar": "^1.0.19",
    "nativescript-purchase": "^2.0.13",
    "nativescript-simple-filepicker": "^1.0.2",
    "nativescript-socket.io": "^0.11.1",
    "nativescript-ui-sidedrawer": "^8.0.0",
    "nativescript-videoplayer": "^4.2.1",
    "nativescript-webview-interface": "^1.4.3",
    "reflect-metadata": "~0.1.12",
    "rxjs": "^6.4.0",
    "tns-core-modules": "~6.2.0",
    "zone.js": "~0.9.1"
  },
  "devDependencies": {
    "@angular/compiler-cli": "~8.2.0",
    "@ngtools/webpack": "~8.2.0",
    "nativescript-dev-webpack": "~1.3.0",
    "tns-android": "6.2.0",
    "tns-ios": "6.5.3",
    "typescript": "~3.5.3"
  },
  "gitHead": "a6fec076a20f898feabb4466a2c411158c18a100",
  "readme": "NativeScript Application"
}

我的AndroidManifest.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="__PACKAGE__"
          android:versionCode="69"
          android:versionName="7.1">

    <supports-screens
            android:smallScreens="true"
            android:normalScreens="true"
            android:largeScreens="true"
            android:xlargeScreens="true"/>

    <uses-sdk
            android:targetSdkVersion="30"/>

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>

    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.telephony" android:required="false" />

    <application
            android:name="com.tns.NativeScriptApplication"
            android:allowBackup="true"
            android:icon="@drawable/icon"
            android:label="Valido Mitarbeiter APP"
            android:theme="@style/AppTheme"
            android:requestLegacyExternalStorage="true">

        <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_stat_brightness_1" />
        <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/ns_blue" />

        <activity
                android:name="com.tns.NativeScriptActivity"
                android:label="@string/title_activity_kimera"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|.screenLayout|locale|uiMode"
                android:theme="@style/LaunchScreenTheme"
                android:windowSoftInputMode="adjustPan">

            <meta-data android:name="SET_THEME_ON_LAUNCH" 
 android:resource="@style/AppTheme" />

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.tns.ErrorReportActivity"/>

        <service 
 android:name="org.nativescript.plugins.firebase.MyFirebaseInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
            </intent-filter>
        </service>
        <service 
 android:name="org.nativescript.plugins.firebase.MyFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT"/>
            </intent-filter>
        </service>

        <provider
                android:name="androidx.core.content.FileProvider"
                android:authorities="${applicationId}.provider"
                android:exported="false"
                android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 
android:resource="@xml/provider_paths"/>
        </provider>

    </application>
</manifest>

我在全球安装的东西:

代码语言:javascript
复制
NativeScript: 8.2.2
NPM: 8.5.2
Node: 17.7.1
Angular: 8.0.6 

(如果它仍然相关的话),我正在研制一个带有m1芯片的设备。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-05 12:42:31

我用升级到最新的NativeScript版本8.2.3来修正它

现在工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71739123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档