我目前正在与 Distriqt G+ ANE 合作。我的设置是这样的:
- Distriqt 教程中提供的带有正确 dx.jar 的 AIR 16。
- 使用 District ANE 提供的演示项目
- 三星 Galaxy S-Plus (GT-I9001) 与 Android 2.3.6 进行测试
- OAUTH ID 设置正确,在 iOS 上完美运行
- 包括 GooglePlay 和 Core ANE(即使前者在 iOS 上不是必需的)
问题#1: 所以我在演示项目(在Android上)中得到了以下非常奇怪的行为:
- 第一次调用 signIn 什么都不做。
- 第二次调用登录将我带到 google plus 应用程序。
- 我可以选择我想使用的帐户。但我可以点击它,没有任何反应。我通常可以点击 2-3 次。
- 它切换回应用程序,但不触发任何事件处理程序
-> 步骤是可重复的,如果您在 cat 日志中搜索应用程序 ID,我永远不会收到任何事件,唯一的事情是来自应用程序的跟踪和
08-19 18:18:32.031 I/GLSUser (4626): [GLSUser] getTokenFromGoogle [account: , callingPkg: air.my.com.zas.lefiner, service: oauth2: https://www.googleapis.com/auth /plus.login
问题 #2: 如果我尝试在使用其他几个 ANE 的主应用程序中实现这一点。
<extensionID>com.distriqt.PushNotifications</extensionID>
<extensionID>com.itpointlab.ane.FlashLight</extensionID>
<extensionID>com.milkmangames.extensions.GoViral</extensionID>
<extensionID>com.distriqt.GooglePlus</extensionID>
<extensionID>com.distriqt.Core</extensionID>
<extensionID>com.distriqt.GooglePlayServices</extensionID>
我无法编译。有一个很长的错误。
dx 工具失败:警告:忽略不带有关联EnclosureMethod 属性的匿名内部类 ( com.facebook.AppEventsLogger$1 ) 的 InnerClasses 属性。此类可能是由不针对现代 .class 文件格式的编译器生成的。推荐的解决方案是从源代码重新编译类,使用最新的编译器并且不指定任何“-target”类型选项。忽略此警告的后果是此类上的反射操作将错误地指示它不是内部类。
这个块与其他几十个类重复,其中大多数在 com.milkmangames.extensions.* 中有些还具有神秘的名称,如 cmxagv.al
最后出现内存错误:
意外的顶级错误:java.lang.OutOfMemoryError:com.android.dx.util.IntList.add(IntList.java 的 com.android.dx.util.IntList.growIfNeeded(IntList.java:274) 处的 Java 堆空间:217)
...
有没有人遇到过与这 2 个 ANE 或旧 Android 手机上的 G+ ANE 类似的问题?