AdvertisingIdClient.getAdvertisingIdInfo(context) 正在抛出 NoClassDefFoundError

2023-12-02

我正在尝试使用 AdvertisingIdClient 获取我的 AIR 应用程序的广告 ID。所以我确实喜欢AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context)。 我没有收到任何编译时错误。我生成了ANE由此。当控件遇到这个语句时,它立即抛出NoClassDefFoundError。我不明白到底发生了什么。 这是我的扩展代码

public class GetAdvertismentID implements FREFunction
{
    @Override
    public FREObject call(FREContext arg0, FREObject[] arg1)
    {
        Activity activity = arg0.getActivity();
        Context context = activity.getApplicationContext();

        String advertId = "initializeByGet\n";

        try
        {
            AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(context);
            //if (!adInfo.isLimitAdTrackingEnabled())
                    //advertId = advertId + adInfo.getId();
        } catch(Error e) {

            String stackTrace = "";
            StackTraceElement[] stackArray = e.getStackTrace();
            for(int i = 0; i < stackArray.length; i++)
                stackTrace += stackArray[i].toString() + "\n";

            advertId += "Error::::::::::::::::";
            advertId += "\nLocalized Message : " + e.getLocalizedMessage();
            advertId += "\nMessage : " + e.getMessage();
            advertId += "\ntoString() : " + e.toString();
            advertId += "\nCause : " + e.getCause();
            advertId += "\nStack Trace : " + stackTrace;

        } catch (Throwable t) {

            advertId += "\nThrowable::::::::::::";
            advertId += "\nLocalized Message : " + t.getLocalizedMessage();
            advertId += "\nMessage : " + t.getMessage();
            advertId += "\ntoString() : " + t.toString();
        }


        try
        {
            return FREObject.newObject(advertId);
        }
        catch(Exception e)
        {
            return null;
        }
    }
}

当我在生成 ANE 后执行此操作时,我将得到以下输出:

initializeByGet
Error::::::::::::::::
Localized Message : com.google.android.gms.ads.identifier.AdvertisingIdClient
Message : com.google.android.gms.ads.identifier.AdvertisingIdClient
toString() : java.lang.NoClassDefFoundError: com.google.android.gms.ads.identifier.AdvertisingIdClient
Cause : null
Stack Trace : com.games24x7.extension.GetAdvertismentID.call(GetAdvertismentID.java:28)
com.adobe.air.Entrypoints.EntryMainWrapper(Native Method)
com.adobe.air.Entrypoints.EntryMainWrapper(Native Method)
com.adobe.air.Entrypoints.EntryMain(Entrypoints.java:139)
com.adobe.air.AndroidActivityWrapper.LaunchApplication(AndroidActivityWrapper.java:997)
com.adobe.air.AndroidActivityWrapper.onSurfaceInitialized(AndroidActivityWrapper.java:1196)
com.adobe.air.AIRWindowSurfaceView.surfaceChanged(AIRWindowSurfaceView.java:746)
android.view.SurfaceView.updateWindow(SurfaceView.java:554)
android.view.SurfaceView.access$000(SurfaceView.java:81)
android.view.SurfaceView$3.onPreDraw(SurfaceView.java:169)
android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1793)
android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2695)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:156)
android.app.ActivityThread.main(ActivityThread.java:4987)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
dalvik.system.NativeStart.main(Native Method)

我觉得这里的问题是,它无法在运行时找到某些类的路径。所以我尝试了所有选项,例如:在 SDK 中使用新的 Android 广告商 ID , 如何禁用 proguard 来构建我的 Android 应用程序? , http://jmsliu.com/2143/add-admob-ads-in-flash-based-android-apps.html不幸的是,它们都不起作用。如果你们有人这样做过,请帮助我。 我正在使用 Flash Builder 4.7 和 AIR SDK 14.0。


创建 ANE 时,您最好从 JAR 中提取 google-play-services 类,并将它们包含在 ANE 的 JAR 中。看this.

如果最终 APK 本身中仍然缺少类,请查看我的问题(以及随后我的回答)类似的问题。我试图将最新的 Google Play 服务 SDK 集成到我们的游戏中,我注意到 AIR SDK 中的 dx 工具正在剥离 Google Play 类。您可以通过使用来确认这一点这个工具验证最终 APK 中是否确实缺少这些类。

UPDATE:

我之前使用上面提到的相同 dex2jar 工具将所需的类注入到 APK 中。但这是没有必要的。您只需更新 AIR SDK 内的 dx 工具即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AdvertisingIdClient.getAdvertisingIdInfo(context) 正在抛出 NoClassDefFoundError 的相关文章

  • 在第一个框中输入字符后,将焦点转到下一个框

    我必须实现一个应用程序 其中我设置了较小的值edittext用于输入 PIN 码和手机号码 每个编辑文本一次包含 1 个字符 现在 当我运行这个应用程序时 我发现对于每个框 我需要将焦点放在每个框上edittext 因此 在这种情况下 是否
  • 将JSON数据解析到Android ListView中

    我已经潜伏这个网站很长一段时间了 幸运的是 到目前为止我所有的问题都得到了解答 我希望你们中的一些人能够阐明我的问题 我可以成功地让 ListView 来显示字符串数组 但是当我尝试将 JSON 数据解析为数组时 我的程序只是强制关闭 而
  • app-release-unsigned.apk 未签名

    我在 github 上下载了 Android 应用程序的 zip 文件 并尝试运行它 但出现一个包含此消息的对话框 app release unsigned apk is not signed Please configure the si
  • android.view.InflateException:二进制 XML 文件行 #11:膨胀类 ImageView 时出错

    我只是尝试制作一个小的 android java xml 应用程序来计算游戏的分数 它给了我这个错误 Error inflateing class ImageView 有人知道解决方案吗 我实际上搜索了 ppl 说添加这个 android
  • Firebase Messaging FCM 在可配置的时间间隔内分发

    当您使用 FCM 向给定应用程序的所有设备发送推送时 这可能会导致许多用户同时打开他们的应用程序 从而导致大量服务器轮询 从而导致负载峰值 有没有一种方便的方法可以在给定的时间间隔内分发消息以进行计划推送 最后 我们找到了一种可能的方法 通
  • 地理编码 API 与地理编码器

    在我的应用程序中 我需要使用地理编码 但我不太清楚该使用哪种方法 直到昨天我在URL中添加了参数maps googleapis com maps api geocode json address myparameter sensor fal
  • 无法在 Android 上编译 avahi

    我是交叉编译的新手 我被分配了使用android补丁的任务http avahi org ticket 354 http avahi org ticket 354将 avahi 核心编译为 android ndk build avahi co
  • 该项目可能使用的 Gradle 版本不包含“compileSdkVersion()”方法

    当我尝试运行最初在 Eclipse ADT 上创建的项目时 我遇到了这个问题 Error 17 0 Gradle DSL method not found compileSdkVersion Possible causes ul li Th
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • Android 解析 JSON 卡在 get 任务上

    我正在尝试解析一些 JSON 数据 我的代码工作了一段时间 我不确定我改变了什么突然破坏了代码 当我运行代码时 我没有收到任何运行时错误或警告 我创建一个新的 AsyncTask 并执行它 当我打电话时 get 在这个新任务中 调试器在此行
  • 将触摸事件从 NestedScrollView 传递到父视图

    我在 NestedScrollView 下方有一个 ViewPager 宽度一些顶部填充 以及 ClipToPadding false 和透明背景 如图像 我的 ViewPager 无法获取触摸事件并且无法工作 我怎么解决这个问题 我无法更
  • Android OptionsMenu问题,背景始终透明

    我的选项菜单总是不显示背景 背景是透明的 有谁知道如何摆脱这个 我的失败起源活动是从另一个自定义活动扩展的 我在 eclipse 上有这个项目 选项菜单工作正常 但自从我迁移到 AndroidStudio 后 选项菜单始终是透明的 我尝试更
  • Adobe Air - 检测连接是否为 WIFI、3G 或 EDGE

    我需要确定设备正在使用哪种连接类型 在 iOS 上区分 WIFI 和 3G 似乎不是问题 使用网络信息ANE http www adobe com devnet air native extensions for air extension
  • 如何从一个活动检索 Double 值到另一活动?

    我制作了一个包含 2 个活动的应用程序 其中第一个活动包含一些 EditText 十进制数字 另一个活动也包含一些 EditText 十进制 现在我想将一个 EditText 的值传递给另一个 但作为 双 而不是作为一个字符串 因为该值将用
  • 在循环中按名称访问变量

    我正在开发一个 Android 项目 并且有很多可绘制对象 这些绘图的名称都类似于icon 0 png icon 1 png icon 100 png 我想将这些可绘制对象的所有资源 ID 添加到整数 ArrayList 中 对于那些不了解
  • Android Jetpack Compose 尺寸随持续时间变化的动画

    如何在 Jetpack Compose 中添加内容大小更改动画的持续时间 尝试使用Modifier animateContentSize 并通过动画规格具有持续时间 但它只是突然进入或退出 没有观察到持续时间 Column Modifier
  • android 中的 java.net.URL ..新手问题

    我是java新手 正在尝试android开发 以下代码生成 malformedURLException 有人可以帮助我识别异常吗 任何提示都会非常有帮助 package com example helloandroid import and
  • 传递 Android DialogFragment 参数时,onCreateDialog 捆绑参数意外为 null

    我正在尝试使用 DialogFragment 在 Android 中显示一个基本对话框 并使用对话框消息的参数 如中所述StackOverflow线程 https stackoverflow com questions 15459209 p
  • Android - 如何简单地拖放按钮?

    我在这里找到了一个适合初学者的教程 http androidrox wordpress com 2011 05 13 android sample app drag and drop image using touch http andro
  • 应用程序关闭时单击 Firebase 通知后打开特定活动/片段

    我知道这个问题似乎重复 但根据我的要求 我在网上搜索了很多帖子 但没有任何对我有用 我的要求 我正在使用 Firebase 来获取推送通知 当应用程序打开时意味着一切正常 但我的问题是 如果有任何推送通知出现 应用程序处于后台 关闭意味着我

随机推荐

  • python 2.7 和 PEP-358 中的字节类型

    根据PEP 358 bytes 对象用于存储可变的字节序列 0 255 如果不是这种情况则引发 然而 我的 python 2 7 却另有说法 gt gt gt bytes 1 2 3 1 2 3 gt gt gt bytes 280 280
  • 如果有特定值则更新列

    我在表中有一列存储数字 我希望这个数字仅在之前等于 1 时才设置为 2 我想知道是否可以避免这种情况 val mysql fetch row mysql query SELECT columnA FROM tableName WHERE s
  • 使用 SQLite 按字段排序

    我实际上正在从事 Symfony 项目 我们使用 Lucene 作为我们的搜索引擎 我试图使用 SQLite 内存数据库进行单元测试 我们正在使用 MySQL 但我偶然发现了一些东西 该项目的搜索引擎部分使用Lucene索引 基本上 您查询
  • 长长和长长有什么区别

    长长和长长有什么区别 而且它们都不能使用 12 位数字 600851475143 我是不是忘记了什么 include
  • 无法测试 Jenkins 插件

    我实际上正在尝试使用 Maven 开发 Jenkins 插件 但我无法测试它 我用命令创建了我的项目mvn cpu hpi create 我打电话给project jenkins plugin tutorial 我把它打包了mvn pack
  • 在 Bash 中,如何从日志文件中解析多个换行符分隔的 JSON 对象?

    我正在解析日志文件并获取结果行 使用 grep 如下所示 2017 01 26 17 19 40 0000 docker source stdout log I 2017 01 26T17 19 40 703988 24 INFO tags
  • 从嵌套列表提取到数据框

    我会放dput我的列表在底部看起来像这样 这样 q 就可以重现 输出为a not x 我有一个很大的嵌套列表 名为x我正在尝试构建一个数据框 但无法弄清楚 我已经完成了第一部分 for i in 1 3 a i lt x results i
  • 使用“if/elseif/else”与“if/else{if/else}”

    我发现自己经常使用这样的模式 if a gt b foo elseif c gt d bar else baz 这里的要点是 第二个条件与第一个条件没有明显的联系 除非您仔细遵循程序逻辑 这是一件非常糟糕的事情吗 最好将上述表述为 if a
  • Spark 中的 XML 处理

    设想 我的输入将是多个小型 XML 并且我应该将这些 XML 作为 RDD 读取 与另一个数据集执行连接并形成 RDD 并将输出作为 XML 发送 是否可以使用spark读取XML 将数据加载为RDD 如果可能的话 如何读取 XML XML
  • 这个错误是什么意思 ? (安卓)

    12 19 18 29 33 203 ERROR AndroidRuntime 402 FATAL EXCEPTION main 12 19 18 29 33 203 ERROR AndroidRuntime 402 java lang R
  • WPF 应用程序中的 WinForms 对话框:控件看起来像 .NET 2.0

    我有一个 WinForms 应用程序并开始将其转换为 WPF 为了减少工作量 我的想法是让旧的对话框窗口成为 WinForms 在 VS2010 设计器中 对话框看起来很正常 使用 NET 3 5 4 0 控件 但如果我运行我的程序 所有
  • xcodebuild 如何使用命令行签署应用程序?

    我正在尝试使用命令行导出 ipa 但我无法在 Xcode 中执行此操作 因为该应用程序是为客户制作的 而我不是他的团队的成员 我真的希望 Apple 改变这一点并使其像Xcode 5 无论如何 我做了更多研究并尝试了这个命令 xcodebu
  • 复选框仅在子节点中?

    我有许多按类别分组的项目 节点 我想将它们显示在TreeView其中父级是文本 子级是CheckBoxes CategoryA Text A1 CheckBox A2 CheckBox CategoryB Text B1 B2 B3 Cat
  • jqGrid colmodel 在 loadComplete 中的更改

    经过 3 个小时的谷歌搜索后 我请求你的帮助 我的页面上有一个 jqGrid grid 的重要选项 listU05 jqGrid url u05json json datatype json mtype POST colModel name
  • Objective C 使用 JNI 调用 Java 方法

    有人可以告诉我如何从 Objective C 调用 Java 方法吗 更详细地说 这实际上是我想做的 1 首先从java端调用目标C 在此调用期间我想获得对java对象的引用 2 稍后我希望 Objective C 使用上一步中获得的引用来
  • Ember 1.10 中的助手损坏

    我正在使用自定义 Handlebars 助手来扩展 if 块的功能 在 Ember 1 10 中 这不再起作用 因为没有允许绑定到该属性的 Ember Handlebars bind 属性 Ember Handlebars register
  • 如何为给定数组创建跨度列表

    假设我有一个看起来像这样的对象 var users user1 user2 对于这个对象 我想创建一个像这样的跨度列表 span user1 span span user2 span 我确实尝试了以下代码 span span text us
  • java 使用比较器和交换函数进行排序

    我需要使用自定义比较器和交换功能进行排序功能 我自己可以写一个 但我想知道是否其他人还没有这样做 Java运行时包含许多专门的排序函数 用于对基本类型 对象等数组进行排序 但它们都不以交换函数作为参数 谷歌搜索也没有找到任何有用的东西 pu
  • Sphinx 自动摘要生成的表中的自动换行

    我使用 Sphinx 为我的项目生成文档 扩展名为autosummary 它生成一个表 其中包含我的模块名称及其摘要 这是结果的图像 然而 行太长 我们必须使用滑块来阅读整个描述 我想将描述文本换行 以摆脱滑块 我到处寻找 却一无所获 我尝
  • AdvertisingIdClient.getAdvertisingIdInfo(context) 正在抛出 NoClassDefFoundError

    我正在尝试使用 AdvertisingIdClient 获取我的 AIR 应用程序的广告 ID 所以我确实喜欢AdvertisingIdClient Info adInfo AdvertisingIdClient getAdvertisin