Android 本机扩展 - 找不到 class 'com.google.android.gms.ads.AdView'

Android native extension - Could not find class 'com.google.android.gms.ads.AdView'

正在尝试为我的 AIR 项目创建一个带有 AdMob 横幅的 android 本机扩展 (ane)。

问题是,当我 运行 我的 phone 上的最终 apk 时,Eclipse DDMS 给我一个错误:

找不到从方法 blah blah

引用的 class 'com.google.android.gms.ads.AdView'

AdMob 横幅没有出现。

似乎 google 播放服务不包括在内,或者无法访问。

我知道我的扩展正在运行,因为我可以在我的 AIR 项目顶部添加本机 android 文本或按钮,它们会出现在 phone 上,但 AdMob 横幅不会。

此外,如果我只使用 android(没有 AIR)制作 apk,横幅显示得很好。

我正在使用 JDK 1.8 Google 播放服务版本 24 Android SDK 工具版本 24.2 目标=android-22 日蚀 4.4.2

一个星期以来我一直在努力解决这个问题,但我尝试的都没有帮助。

无论你有什么建议,我都会尝试。

问题是我没有正确构建 .ane 文件。

这个博客帮助了我,我成功了:

http://jmsliu.com/2143/add-admob-ads-in-flash-based-android-apps.html

具体来说,我不知道我必须包括:

google-play-services-res:此文件夹包含 google 播放服务库所需的所有资源。它是从 google 播放服务库中复制的。您可以从 Android SDK)

获得所有这些

android-support-v4.jar:这个java库是从google play services lib

google-play-services.jar: 这个 java 库是从 google play services lib

通过平台选项xml 文件:

<platform xmlns="http://ns.adobe.com/air/extension/4.0"> 
    <packagedDependencies>
        <packagedDependency>android-support-v4.jar</packagedDependency>
        <packagedDependency>google-play-services.jar</packagedDependency> 
    </packagedDependencies> 
    <packagedResources>
        <packagedResource> 
            <packageName>com.google.android.gms</packageName> 
            <folderName>google-play-services-res</folderName> 
        </packagedResource> 
    </packagedResources>
</platform>

不知何故,我在想用户已经在他们的 Android 手机上使用了 google 播放服务,因此没有必要包含所有这些库和资源。仍然不明白为什么需要它们。显然,您需要: 1. 包含 gogle play 服务库和资源; 2. 用户 google 在他们的手机上安装播放服务。