我已经在Cocos2d-x 2.0 Android应用中成功实现了Android应用内结算功能。现在,我正在尝试在Cocos2d-x 3.0 Android应用中实现Android In-app Billing。我之前使用的一些技术不起作用。我想了解问题的原因。
具体来说,我在调用Java方法时遇到了麻烦。 “C ++ to Java”JNI部分正在运行。 AppActivity.java中的IAB
方法已成功从C ++调用:
public static void IAB(String s) {
instance.doIAB(s);
}
麻烦始于instance
。我不是Java程序员,所以这可能很难看。我正在使用instance
从静态IAB
方法调用非静态方法。调用instance
后,onCreate
设置了super.onCreate
:
instance = this;
另外,我在AppActivity中有这个声明:
private static AppActivity instance;
这适用于Cocos2d-x 2.0。但是,现在我刚收到一条线路上的崩溃:
instance.doIAB(s);
理想情况下,我可以在IDE中运行我的应用程序并查看日志中的错误。但是,Eclipse + Cocos2d-x 3.0不希望从IDE运行我的应用程序。所以我只是使用Cocos2d-x 3.0命令行运行Android应用程序的方式。这限制了我对崩溃的理解。
如何理解并解决此问题?