我尝试安装的每个插件都会抛出一个错误,提示找不到 list 。确实,该文件不存在。我正在尝试升级 6.4,因为如果不对构建 list 进行手动更改,6.4 似乎不支持 Android 上的 64 位 CPU。
无法安装“cordova-plugin-geolocation”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-file”:错误:ENOENT:没有这样的文件或目录,打开“C:\..\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-google-analytics”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-inappbrowser”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-whitelist”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-network-information”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-sqlite-storage”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-android-permissions”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-statusbar”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-device”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
无法安装“cordova-plugin-image-picker”:错误:ENOENT:没有这样的文件或目录,打开“C:\...\platforms\android\AndroidManifest.xml”
如何解决这些错误?
最佳答案
得到答案,神奇的社区制作了一个脚本来修补它。
在您的脚本文件夹中创建一个名为
的脚本补丁-android-studio-check.js
把这个放在里面
/**
* This hook overrides a function check at runtime. Currently, cordova-android 7+ incorrectly detects that we are using
* an eclipse style project. This causes a lot of plugins to fail at install time due to paths actually being setup
* for an Android Studio project. Some plugins choose to install things into 'platforms/android/libs' which makes
* this original function assume it is an ecplise project.
*/
module.exports = function(context) {
if (context.opts.cordova.platforms.indexOf('android') < 0) {
return;
}
const path = context.requireCordovaModule('path');
const androidStudioPath = path.join(context.opts.projectRoot, 'platforms/android/cordova/lib/AndroidStudio');
const androidStudio = context.requireCordovaModule(androidStudioPath);
androidStudio.isAndroidStudioProject = function() { return true; };
};
然后添加这些钩子(Hook)
<platform name="android">
<hook src="scripts/patch-android-studio-check.js" type="before_plugin_install" />
<hook src="scripts/patch-android-studio-check.js" type="before_plugin_install" />
<hook src="scripts/patch-android-studio-check.js" type="before_plugin_add" />
<hook src="scripts/patch-android-studio-check.js" type="before_build" />
<hook src="scripts/patch-android-studio-check.js" type="before_run" />
<hook src="scripts/patch-android-studio-check.js" type="before_plugin_rm" />
</platform>
接下来,删除您的插件和平台文件夹。然后运行 cordova platform add android
,这将重新创建平台并正确添加插件。
第二部分是不要使用图像选择器插件。
2019 年 3 月更新 - 从 Cordova Android verison 8 开始,这似乎不再需要,实际上会导致问题。
关于android - Cordova 8,Android 7.1.0,无法安装任何插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51086462/