注意:这个问题/问题是关于一些Android构建过程的,而不是关于AdMob +本身的技术问题。
我将AdMob +添加到我的项目中,而且,在开始时,它是有效的。我的手机里有一个用--prod标志构建的离子型应用程序的工作版本,它显示了占位符广告。
但在遇到一些严重的问题,试图签署APK的游戏商店,我只是开始无法做任何事情对我的项目。关于AdMob,我一直存在这个错误,我无法解决这个错误:
Type admob.plus.core.Ad$1 is defined multiple times: C:\Zerok\Dev\Proyectos\Dromous\node_modules\@admob-plus\capacitor\android\build\.transforms\caf89848ec3f4a75afca2ab1d3cbcd43\transformed\classes\classes.dex, C:\Zerok\Dev\Proyectos\Dromous\android\capacitor-cordova-android-plugins\build\.transforms\031de8c5ab4ccc04dd0cc8127e017c43\transformed\classes\classes.dex这是AdMob医生的输出:
✖googleads.g.doubleclick.net > RequestError: getaddrinfo ENOENT googleads.g.doubleclick.net✔↓Cordova Android依赖项跳过❯config.xml✖platformname="ios"/preferencename="SwiftVersion":错误: platformname="ios"/preferencename="SwiftVersion":缺失/无效↓platformname="ios"/preferencename="deployment-target":错误: platformname="ios"/preferencename="deployment-target":缺失/无效的平台/ios/*..xcodeproj跳过的✔插件/admob+-cordova/Package.json✔admob-plus-cordova: 1.20.1
我试着遵循这个堆叠溢出的问题,但我没有看到任何对我的项目有任何影响。AdMob插件只添加一次,以及客户端代码的NPM库。
另一件奇怪的事情是,您希望Gradle关心/android文件夹中的文件,而不是node_modules中的文件。为什么它有一个类collission与位于android文件夹之外的文件?这没有任何意义。
就目前而言,我不能用我的项目来构建或做任何事情。我试着更新Android,Gradle,清理和重建项目,删除Android文件夹并再次创建它.什么都没有。
发布于 2021-08-02 08:04:37
过了一会儿就解决了!如果你使用Ionic和电容,使用一些Cordova插件,那么你可能会遇到同样的问题。
问题在于安装AdMob +插件,但可能发生在安装其他插件时,这两个插件都有电容和科多瓦的实现。我仍然不知道是什么原因造成的,但不知何故,安装了电容插件,也增加了插件的“电容-科多瓦-安卓-插件”文件夹。这个文件夹保存了Cordova插件,用于电容--这就是它们如何与Cordova兼容的。
那么,这如何适用于错误呢?让我们再看看:
Type admob.plus.core.Ad$1 is defined multiple times: C:\Zerok\Dev\Proyectos\myapp\node_modules\@admob-plus\capacitor\android\build\.transforms\caf89848ec3f4a75afca2ab1d3cbcd43\transformed\classes\classes.dex, C:\Zerok\Dev\Proyectos\myapp\android\capacitor-cordova-android-plugins\build\.transforms\031de8c5ab4ccc04dd0cc8127e017c43\transformed\classes\classes.dex
类Ad$1是在两个地方定义的。第一个是合法的:它来自一个简单的电容安装插件。但是,第二个来自我前面提到的兼容性文件夹capacitor-cordova-android-plugins。
当我们进入该文件夹并进入src/main/java时,我们可以看到我们在Ionic应用程序中使用的所有插件的类。就我而言,我能看到的是:

在com、cordova和org文件夹中,我可以找到我的Cordova插件所需的类,而对于这些插件,我没有完全的电容选项。但是AdMob Plus,它有,也在那里。。
嗯,不应该。只要删除admob文件夹(或者在您的例子中,是困扰您的双定义插件),应用程序就会重新开始编译。
https://stackoverflow.com/questions/68469682
复制相似问题