Kam*_*ran 29 android admob cordova phonegap
我在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)
有人可以帮忙吗?
Ray*_*Xie 39
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,即将推出.
jce*_*ile 32
最终编辑:
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发布博客文章
Suk*_*gha 17
在config.xmlcordova项目的文件中,在xml标记<platform name="android">部分下,添加以下标记:
<resource-file src="platforms/android/app/src/main/AndroidManifest.xml" target="AndroidManifest.xml" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34947 次 |
| 最近记录: |