Mopub Unity Android在启动时崩溃

时间:2015-01-11 20:09:20

标签: java android unity3d mopub

我正在尝试将Mopub for Android集成到我的Unity项目中。我按照这里的说明进行操作:

https://github.com/mopub/mopub-unity-android-plugin

使用Android支持构建mopub sdk,然后将其添加到我的Unity项目中。我已经将相应的条目添加到我的AndroidManifest.xml中:

<activity android:name="com.mopub.mobileads.MoPubActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name="com.mopub.mobileads.MraidActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name="com.mopub.common.MoPubBrowser"
        android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name="com.mopub.mobileads.MraidVideoPlayerActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"/>
<activity android:name="com.millennialmedia.android.MMActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation" />
<activity android:name="com.millennialmedia.android.VideoPlayer" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="keyboardHidden|orientation|keyboard" />
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

...

  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

该项目构建良好,但当我在设备上运行时,我在请求插页式广告或横幅广告时发生了崩溃。这是logcat:

E/AndroidRuntime(15901): FATAL EXCEPTION: main
E/AndroidRuntime(15901): java.lang.Error: FATAL EXCEPTION [main]
E/AndroidRuntime(15901): Unity version     : 4.6.1f1
E/AndroidRuntime(15901): Device model      : samsung GT-I9300
E/AndroidRuntime(15901): Device fingerprint: samsung/m0xx/m0:4.3/JSS15J/I9300XXUGNH4:user/release-keys
E/AndroidRuntime(15901):
E/AndroidRuntime(15901): Caused by: java.lang.Error: Unresolved compilation problem:
E/AndroidRuntime(15901):    NonNull cannot be resolved to a type
E/AndroidRuntime(15901):
E/AndroidRuntime(15901):    at com.mopub.common.util.ManifestUtils.checkWebViewActivitiesDeclared(ManifestUtils.java:51)
E/AndroidRuntime(15901):    at com.mopub.mobileads.MoPubView.<init>(MoPubView.java:64)
E/AndroidRuntime(15901):    at com.mopub.mobileads.MoPubView.<init>(MoPubView.java:58)
E/AndroidRuntime(15901):    at com.mopub.mobileads.MoPubUnityPlugin$1.run(MoPubUnityPlugin.java:43)
E/AndroidRuntime(15901):    at android.os.Handler.handleCallback(Handler.java:730)
E/AndroidRuntime(15901):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(15901):    at android.os.Looper.loop(Looper.java:176)
E/AndroidRuntime(15901):    at android.app.ActivityThread.main(ActivityThread.java:5419)
E/AndroidRuntime(15901):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(15901):    at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(15901):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
E/AndroidRuntime(15901):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
E/AndroidRuntime(15901):    at dalvik.system.NativeStart.main(Native Method)
I/ActivityManager( 2344): Notify an ApplicationCrash

我尝试过使用mopub Unity插件附带的示例Unity场景,并且发生了同样的事情。看看checkWebViewActivitiesDeclared here给了我一些线索,说明我的活动可能有问题,但我看不出我在做什么错误。

1 个答案:

答案 0 :(得分:0)

我对Android不是很熟悉,但有一句话说:

  

NonNull无法解析为类型

所以,它可能是崩溃的根源。

您是否尝试导入:android-support-annotations.jar

尝试导入android-support-annotations.jar。它应解决NonNull。