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 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • 在 Android Studio 中,为什么我必须在模拟器中单击“运行应用程序”两次才能启动应用程序?

    在 Android Studio 中 当我按播放按钮在 Android 模拟器上安装并运行应用程序时 大约 5 10 秒后 我在屏幕底部收到一条消息 显示 安装成功 但应用程序实际上并未运行在模拟器上 我必须再次按下播放按钮 这是非常令人沮
  • CardView 圆角获得意想不到的白色

    When using rounded corner in CardView shows a white border in rounded area which is mostly visible in dark environment F
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • 当文本输入聚焦在 React Native for Android 的底部工作表上时,视图移出屏幕

    我正在使用图书馆 https github com osdnk react native reanimated bottom sheet https github com osdnk react native reanimated bott
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • CollapsingToolBarLayout - 状态栏稀松布颜色不改变

    几天前我更新了我的 android studio 并开始使用 CoordinatorLayout 和 CollapsingToolbarLayout 只是尝试一些东西 工具栏稀松布颜色似乎覆盖了状态栏初始颜色和状态栏稀松布颜色 从 xml
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位

随机推荐

  • 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