热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Cordova不会创建AndroidManifest.xml

如何解决《Cordova不会创建AndroidManifest.xml》经验,为你挑选了3个好方法。

我在Cordova和AndroidStudio工作,以创建Android/iOS应用程序.一切都工作正常,直到我昨天将我的Cordova更新为8.我还将Node更新到最新版本.当我创建Cordova项目并添加Android平台时.它产生一个完全不同的目录结构.我无法看到assets,res以及src项目平台目录中的文件夹D:\testApp1\platforms\android.更重要的是,上面的目录丢失了AndroidManifest.xml,这导致admob插件无法添加.

这是添加插件时出现的错误:

无法安装'cordova-plugin-admobpro':错误:ENOENT:没有这样的文件或目录,在Object.fs.openSync上打开'D:\ Projects\testApp1\platforms\android\AndroidManifest.xml'(fs.js:646 :18)在Object.parseElementtreeSync(D:\ Projects\testApp1\platforms\android\cordova \node_modules\cordova-common\src\util\xml-helpers)的Object.fs.readFileSync(fs.js:551:33)处. js:180:27)在AndroidProject.getPackageName(D:\ Projects\testApp1\platforms\android\cordova)的新AndroidManifest(D:\ Projects\testApp1\platforms\android\cordova\lib\AndroidManifest.js:29:20)\lib\AndroidProject.js:99:12)在handleInstall(C:\ Users\Rao\AppData\Roaming)的Api.addPlugin(D:\ Projects\testApp1\platforms\android\cordova\Api.js:223:57)位于C:\ Users\Rao\AppData\Roaming \npm \node_modules\cordova \node_modules\cordova-lib\plugman\install.js:357:28 at _fulfilled(C:\ Users\Rao\AppData\Roaming \npm \node_modules\cordova \node_modules\cordova-lib \node_ modules\q\q.js:787:54)at self.promiseDispatch.done(C:\ Users\Rao\AppData\Roaming \npm \node_modules\cordova \node_modules\cordova-lib \node_modules\q\q.js: 816:30)

有人可以帮忙吗?



1> Raymond Xie..:

Cordova CLI v8.0将cordova-android@7.0.0默认使用.

由于大多数cordova插件尚不支持cordova-android@7.0.0,您还可以通过指定版本来尝试使用旧版本:

cordova platform add android@6.4.0

或者,如果您觉得使用起来很舒服cordova-android@7.0.0,您也可以等待更新cordova-plugi-admobpro以支持cordova-android@7.0.0,即将推出.


救了我的一天!为我工作.
刚刚破坏了一切...:S

2> jcesarmobile..:

最终编辑:

cordova-android 7.1.4已经出来了,应该解决大部分这类问题.

编辑:

随着人们不断提高答案,我将提供有关问题的更多细节.

问题不在于插件写在AndroidManifest.xml或上config.xml.确实,位置发生了变化,插件应该更新路径,但这不是强制性的,而Cordova负责新路径.

问题是一些使用source-file标签的插件用于不是源代码的东西.(即,使用它来复制图像而不是使用resource-file标签)这会创建一个让Cordova感到困惑的res文件夹(或lib),让它相信它是一个古老的Eclipse项目,而它实际上是一个Android工作室项目,并在其上搜索文件.旧位置,而不是寻找新的位置.

这已在cordova-android中修补,将在下一版本中修复.解决方法是使用source-file标记查找插件并将其更新为使用resource-file标记

老答案:

它现在在app/src/main/AndroidManifest.xml.

如果插件正在写入,则应该更新以在正确的位置写入.

阅读cordova-android 7.0.0发布博客文章


如果在项目的根目录中有一个'res'文件夹,即使在更新plugin.xml中的路径后仍会出现此错误(由于Eclipse项目检测)

3> 小智..:

config.xmlcordova项目的文件中,在xml标记部分下,添加以下标记:



推荐阅读
author-avatar
负能量包子玻璃包各负磁场宣泄区
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有