【问题标题】:android build error with admob pluginadmob插件的android构建错误
【发布时间】:2018-02-13 12:02:49
【问题描述】:

我正在尝试使用最新的 admobfullscreen 插件进行构建并获得它。 删除插件并构建正常。

注意:如果有帮助的话,我也会使用推送通知。使用google-services.json

Compiling with source level 1.7 and target level 1.7.
:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
file or directory '/tmp/build1851142413066197938xxx/WordTime1/src/release/java', not found
Compiling with JDK Java compiler API.
/tmp/build1851142413066197938xxx/WordTime1/src/main/java/com/codename1/admob/AdMobNativeImpl.java:3: error: package com.google.android.gms.ads does not exist
import com.google.android.gms.ads.*;
^
/tmp/build1851142413066197938xxx/WordTime1/src/main/java/com/codename1/admob/AdMobNativeImpl.java:13: error: cannot find symbol
    private InterstitialAd interstitial;
            ^
  symbol:   class InterstitialAd
  location: class AdMobNativeImpl
/tmp/build1851142413066197938xxx/WordTime1/src/main/java/com/codename1/admob/AdMobNativeImpl.java:66: error: cannot find symbol
        interstitial = new InterstitialAd(activity);
                           ^
  symbol:   class InterstitialAd

构建提示:

codename1.displayName=Word Time
codename1.arg.ios.pods.platform=7.0,7.0
codename1.android.keystoreAlias=alias_name
codename1.arg.ios.no_strip=true
codename1.android.keystorePassword=*********
codename1.ios.provision=
codename1.android.min_sdk_version=8
codename1.arg.ios.dsym=true
codename1.arg.android.release=true
codename1.arg.ios.statusbar_hidden=false
android.playService.ads=true
codename1.languageLevel=5
codename1.android.keystore=/Users/sam/d...store/cn1.ks
codename1.vendor=Haptic Apps LLC
codename1.arg.xxx=dfsdfwef
codename1.arg.win.ver=8
codename1.ios.certificatePassword=
codename1.arg.ios.unsafe=true
codename1.ios.debug.certificatePassword=
codename1.mainName=WordTime1
codename1.arg.android.enableProguard=true
codename1.ios.debug.certificate=
codename1.arg.android.proguardKeep=-kee...dia.**
codename1.arg.ios.application_exits=false
codename1.secondaryTitle=Word Time
codename1.description=
codename1.ios.debug.provision=
codename1.arg.build.incSources=1
codename1.arg.j2me.nativeThemeConst=0
codename1.rim.certificatePassword=
codename1.version=1.14
codename1.ios.certificate=
codename1.icon=icon.png
codename1.rim.signtoolCsk=
codename1.arg.android.debug=false
codename1.rim.signtoolDb=
codename1.arg.ios.includePush=true
codename1.arg.ios.testFlight=false
codename1.packageName=com.hapticapps.wordtime
codename1.android.targetSDKVersion=14

编译错误原因

我发现问题是由于:为推送通知添加 google-services.json 会导致 admob 插件失败。不能在构建中同时包含两者,因为它会导致一些构建错误。

这不是解决方案,只是找出原因。

【问题讨论】:

  • 你是怎么安装cn1lib的?你的构建提示中有什么?具体来说,我想知道特定于 Andorid 的构建提示
  • 几年前我安装了 cn1lib。我需要更新以使用 google-services.json。我更新了 cn1libs 并没有解决这个问题。
  • 我添加了构建提示

标签: codenameone


【解决方案1】:

您有一个可能会造成严重破坏的旧版本提示:android.targetSDKVersion=14。它应该被删除。但是作为警告:

默认的 SDK 版本是23,它改变了很多东西,特别是权限。它可能会破坏很多东西,一旦您提交具有更高 SDK 版本的应用,Google 会阻止您降级到旧 SDK 版本!

因此,请确保在执行此操作之前对您的应用进行真正的测试。

【讨论】:

  • 仍然有同样的错误:com.google.android.gms.ads 包不存在
  • 检查构建提示没有返回。我假设确实如此。如果是,您使用的是哪个 cn1lib,它们是最新版本吗?
  • 我发现问题是由于:为推送通知添加 google-services.json 导致 admob 插件失败。不能在构建中同时包含两者,因为它会导致一些构建错误。
  • 您确定您使用的是最新的cn1lib 版本的广告吗?看起来您手动添加了构建提示,例如:android.playService.ads=true,并且使用了被忽略的错误语法。最新的 cn1lib 应该会自动添加这个
  • 我正在使用最新的 AdmobFullScreen.cn1lib 插件。你指的是这个吗?
猜你喜欢
  • 2018-06-03
  • 2019-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
相关资源
最近更新 更多