簡體   English   中英

Cordova無法安裝'cordova-plugin-whitelist':錯誤:ENOENT:沒有這樣的文件或目錄AndroidManifest.xml

[英]Cordova failed to install 'cordova-plugin-whitelist': Error: ENOENT: no such file or directory AndroidManifest.xml

我在OSx 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

截圖:

截圖

您正在使用cordova-android@~7.0.0

我最近使用Cordova 8.0.0的cordova-android repo遇到了同樣的問題

將cordova-android降級到6.4.0如下:

cordova platform remove android
cordova platform add android@6.4.0

這有點晚了。 但在遇到類似問題時,請分享一些個人觀察。

如果有一個未更新的舊插件與platform@7.0.0一起使用,則構建過程將失敗。 至少對我來說就是這種情況。 安裝這個不兼容的插件后,它會搞亂平台中的文件。 之后嘗試通過刪除插件來搶救項目也會失敗,因為安裝時文件會被放入錯誤的目錄中。 您將不得不刪除平台“cordova platform rm”,然后是行為不當的插件“cordova plugin rm”,並在構建可以修復之前重新添加您的平台。

為什么android@6.30和android@6.4.0可能工作是因為它可能使用較舊的平台項目目錄布局,它似乎使用頂級/ platforms / android目錄為'res'和'libs'文件夾。

從android@7.0.0開始,我注意到它添加了'app'子目錄,你的'config.xml'和'res'預計在'/ platforms / android / app / src / main / res / xml / config。 xml'而不是'/platforms/android/res/xml/config.xml'。

較舊的插件可能具有將文件復制到錯誤位置的安裝/刪除腳本。

解決這個問題的唯一兩種方法是按照Bharat Biswal的建議更新插件或降級平台。

如果有人有更明確的答案,那就太好了。

您使用的是cordova 7.0.0或cordova 8.0.0,IONIC也會出現類似的問題

您會發現大多數插件存在這些問題,例如admobpro,admob,itablet,whitelist等。

現在更好的回滾到之前的cordova版本,即6.3.0或6.4.0

如果你看到任何插件提到的問題,試試這個。

cordova platform remove android
cordova platform add android@6.3.0 

要么

cordova platform remove android
cordova platform add android@6.4.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM