1

我正在原生 android 中进行 Unity Ads 集成。但我面临以下问题。

java.lang.NoClassDefFoundError: com.unity3d.ads.android.R$layout
            at com.unity3d.ads.android.video.UnityAdsVideoPlayView.e(UnityAdsVideoPlayView.java:225)
            at com.unity3d.ads.android.video.UnityAdsVideoPlayView.<init>(UnityAdsVideoPlayView.java:62)
            at com.unity3d.ads.android.view.UnityAdsMainView.setViewState(UnityAdsMainView.java:76)
            at com.unity3d.ads.android.view.b.run(UnityAdsFullscreenActivity.java:593)
            at android.os.Handler.handleCallback(Handler.java:725)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5099)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
            at dalvik.system.NativeStart.main(Native Method)

谁能帮我解决这个问题。我在布局中有这个资源文件然后我也面临这个错误。

4

2 回答 2

6

我遇到了和你完全相同的问题,解决方案是下载 oalpayli 告诉你的 aar 文件,将其放在 libs 文件夹中,然后在 gradle 中添加以下代码:

dependencies {
    compile(name:'unity-ads',ext:'aar')
}

repositories {
    flatDir {
        dirs 'libs'
    }
}
于 2016-09-03T05:24:58.193 回答
2

此问题已在最新的 SDK 更新中得到解决。请按照以下说明进行更新:

  1. 下载统一广告.aar文件
  2. 从您的项目中删除所有之前添加的 Unity Ads 集成相关文件/参考
  3. 在 Android Studio 上,单击文件 -> 新建 -> 新建模块
  4. 选择导入.JAR/.AAR包,点击下一步
  5. 找到 unity-ads.aar,模块名称应更改为 unity-ads,单击 Finish。
  6. 现在,右键单击项目的默认模块,选择打开模块设置
  7. 确保选择了默认模块,单击 Dependencies 选项卡
  8. 单击屏幕底部的加号,选择 Module Dependency
  9. 从打开的弹出窗口中选择 unity-ads

这应该可以解决 R$Layout 问题。

于 2015-11-06T12:59:30.470 回答