web-dev-qa-db-ja.com

Cordovaは「cordova-plugin-whitelist」のインストールに失敗しました:エラー:ENOENT:そのようなファイルまたはディレクトリはありませんAndroidManifest.xml

OS = 10.13.2にCordova 8.0.0があり、Node v8.5.0およびnpm v5.5.1がインストールされています。

プラグインを追加した後cordova-plugin-ibeacon、私がcordova platform add Android、次のエラーが発生します:

「cordova-plugin-whitelist」のインストールに失敗しました:エラー:ENOENT:そのようなファイルまたはディレクトリはありませんAndroidManifest.xml

スクリーンショット:

Screenshot

8
Kumari Shalini

Cordova-Android@~7.0.0を使用しています

Cordova 8.0.0で最近のCordova-Androidリポジトリのプルで同じ問題に直面しました

次のように、cordova-Androidを6.4.0にダウングレードします。

cordova platform remove Android
cordova platform add [email protected]
16
Bharat Biswal

これは少し遅れています。しかし、私が同様の問題に遭遇したとき、いくつかの個人的な観察を共有しました。

ビルドプロセスが失敗する[email protected]で動作するように更新されていない古いプラグインがある場合。少なくとも私にとってはそうです。この互換性のないプラグインをインストールすると、プラットフォーム内のファイルがめちゃくちゃになります。その後、プラグインを削除してプロジェクトをサルベージしようとしても失敗します。これは、インストール時にファイルが間違ったディレクトリに置かれていたためです。ビルドを修正する前に、プラットフォーム "cordova platform rm"を削除し、その後に不正なプラグイン "cordova plugin rm"を削除して、プラットフォームを再度追加する必要があります。

[email protected][email protected]が機能するのは、おそらく古いプラットフォームプロジェクトディレクトリレイアウトを使用しているためです。「res」および「libs」フォルダーには最上位の/ platforms/Androidディレクトリを使用しているように見えます。

[email protected]以降、「app」サブディレクトリが追加されていることに気付きました。「config.xml」と「res」は「/ platforms/Android/app/src/main/res/xml/config」にあるはずです。 「/platforms/Android/res/xml/config.xml」ではなく「xml」。

古いプラグインには、ファイルを間違った場所にコピーするインストール/削除スクリプトがある場合があります。

この問題を修正する唯一の2つの方法は、Bharat Biswalの提案に従ってプラグインを更新するか、プラットフォームをダウングレードすることです。

誰かがより明確な答えを持っている場合、それは素晴らしいでしょう。

7
Wet Feet

Cordova 7.0.0またはCordova 8.0.0を使用している場合、IONICでも同様の問題が見られます

Admobpro、admob、itablet、ホワイトリストなどのほとんどのプラグインでこの問題が見つかります。

今のところ、以前のCordovaバージョン、つまり6.3.0または6.4.0にロールバックすることをお勧めします

プラグインのいずれかで言及されている問題が発生した場合は、これを試してください。

cordova platform remove Android
cordova platform add [email protected] 

[〜#〜]または[〜#〜]

cordova platform remove Android
cordova platform add [email protected]
1
Tejas