【问题标题】:Ionic 3 after install admob plugin app build failed安装admob插件应用程序构建失败后的Ionic 3
【发布时间】:2018-04-07 01:45:33
【问题描述】:

当我在 ionic 3 中构建一个 android 应用程序时,它被构建了。但是在每次构建失败时使用 admobFree 或 admobPro 插件后,我收到此错误.... (由于帖子限制,我发布了最后几行错误)

FAILURE:构建失败并出现异常。 * 什么地方出了错: 任务 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 执行失败。 > com.android.builder.dexing.DexArchiveMergerException: 无法合并 dex * 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。 * 在 https://help.gradle.org 获得更多帮助 在 3m 22s 内构建失败 38 个可操作的任务:12 个已执行,26 个最新 (节点:11476)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:1):错误:cmd:命令失败,退出代码 1 错误输出: 注意:某些输入文件使用或覆盖已弃用的 API。 注意:使用 -Xlint:deprecation 重新编译以获取详细信息。 注意:某些输入文件使用未经检查或不安全的操作。 注意:使用 -Xlint:unchecked 重新编译以获取详细信息。 FAILURE:构建失败并出现异常。 * 什么地方出了错: 任务 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 执行失败。 > com.android.builder.dexing.DexArchiveMergerException: 无法合并 dex * 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。 * 在 https://help.gradle.org 获得更多帮助 在 3m 22s 内构建失败 [OK] 您的应用已部署。 您知道您可以使用 --livereload 从您的应用程序中实时重新加载更改吗? C:\Users\SHEKH RAIES\Raies-Ionic\test\file-upload\upload>

【问题讨论】:

  • 你有ionic cordova build android --verbosecordova build android --verbose的日志吗?
  • 您找到解决方案了吗?我在挣扎……

标签: build ionic2 admob ionic3


【解决方案1】:

我迟到了。但希望这可以帮助开发人员寻找答案。我已经经历了很多来解决这个问题。文档没有帮助。更改配置没有做任何事情。删除和阅读平台没有帮助。等等

这是我解决这个问题的方法。

打开文件 项目文件夹/插件/cordova-admob-sdk/plugin.xml

检查这部分

<platform name="android">
    <preference name="PLAY_SERVICES_VERSION" default="11.0"/>
    <framework src="com.google.android.gms:play-services-base:$PLAY_SERVICES_VERSION" />
    <framework src="com.google.android.gms:play-services-ads:$PLAY_SERVICES_VERSION" />
</platform>

查看文件project-folder/platforms/android/build.gradle(每次构建项目时,此文件都会更改)

这个依赖部分

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    implementation(project(path: "CordovaLib"))
    compile "com.android.support:appcompat-v7:23+"
    compile "com.google.android.gms:play-services-base:11.0"
    compile "com.google.android.gms:play-services-ads:11.0"
    compile "com.google.android.gms:play-services-analytics:+"
    compile "com.android.support:support-v4:27.+"
    // SUB-PROJECT DEPENDENCIES END
}

查看另一个文件project-folder/platforms/android/project.properties

target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:appcompat-v7:23+
cordova.gradle.include.1=com.synconset.imagepicker/odi-ignorelinterrors.gradle
cordova.gradle.include.2=com.synconset.imagepicker/odi-androidtarget.gradle
cordova.system.library.2=com.google.android.gms:play-services-base:11.0
cordova.system.library.3=com.google.android.gms:play-services-ads:11.0
cordova.system.library.4=com.google.android.gms:play-services-analytics:+
cordova.gradle.include.3=phonegap-plugin-barcodescanner/odi-barcodescanner.gradle
cordova.system.library.5=com.android.support:support-v4:27.+

我是如何解决的

1 - 更改的文件 项目文件夹/插件/cordova-admob-sdk/plugin.xml

从 11.0 到 + 所以它看起来像这样

<platform name="android">
    <preference name="PLAY_SERVICES_VERSION" default="+"/>
    <framework src="com.google.android.gms:play-services-base:$PLAY_SERVICES_VERSION" />
    <framework src="com.google.android.gms:play-services-ads:$PLAY_SERVICES_VERSION" />
</platform>

2 - 构建(sudo ionic cordova build android)

就是这样。

构建后查看文件 project-folder/platforms/android/build.gradle 依赖项部分。看起来像这样

dependencies {
    implementation fileTree(dir: 'libs', include: '*.jar')
    // SUB-PROJECT DEPENDENCIES START
    implementation(project(path: "CordovaLib"))
    compile "com.android.support:appcompat-v7:23+"
    compile "com.google.android.gms:play-services-base:11.0"
    compile "com.google.android.gms:play-services-ads:11.0"
    compile "com.google.android.gms:play-services-analytics:+"
    compile "com.android.support:support-v4:27.+"
    // SUB-PROJECT DEPENDENCIES END
}

project-folder/platforms/android/project.properties 看起来像这样

target=android-26
android.library.reference.1=CordovaLib
cordova.system.library.1=com.android.support:appcompat-v7:23+
cordova.gradle.include.1=com.synconset.imagepicker/odi-ignorelinterrors.gradle
cordova.gradle.include.2=com.synconset.imagepicker/odi-androidtarget.gradle
cordova.system.library.2=com.google.android.gms:play-services-base:+
cordova.system.library.3=com.google.android.gms:play-services-ads:+
cordova.system.library.4=com.google.android.gms:play-services-analytics:+
cordova.gradle.include.3=phonegap-plugin-barcodescanner/odi-barcodescanner.gradle
cordova.system.library.5=com.android.support:support-v4:27.+

【讨论】:

    猜你喜欢
    • 2018-07-20
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多