当我试图在Eclipse和Unity之间的插件中调用类UiLifecycleHelper
时,我遇到了几个错误。我将facebooksdk.jar复制到我项目的libs
文件夹中,然后将其添加到中
- 属性>Java构建路径>添加JAR
我还试图简单地在中添加"库">
- 属性>Android,使用按钮
Add...
当我不使用类UiLifecycleHelper
时没有错误(Log.i
在没有类UiLifecycleHelper
的情况下从testFunc
运行良好)并且没有与Unity的连接,通过一个简单的类扩展Activity,它可以很好地连接到Facebook。
我还按照其他主题中的建议将Java编译器设置为1.6。你知道如何正确地连接facebook.jar
和我的项目吗?
以下是日志:
01-05 17:17:53.834: E/dalvikvm(25005): Could not find class 'com.project.aef.MainActivity$1', referenced from method com.project.aef.MainActivity.<init>
01-05 17:17:53.835: E/dalvikvm(25005): Could not find class 'com.facebook.UiLifecycleHelper', referenced from method com.project.aef.MainActivity.onCreate
01-05 17:17:53.841: E/AndroidRuntime(25005): FATAL EXCEPTION: main
01-05 17:17:53.841: E/AndroidRuntime(25005): java.lang.NoClassDefFoundError: com.project.aef.MainActivity$1
01-05 17:17:53.841: E/AndroidRuntime(25005): at com.project.aef.MainActivity.<init>(MainActivity.java:24)
01-05 17:17:53.841: E/AndroidRuntime(25005): at java.lang.Class.newInstanceImpl(Native Method)
01-05 17:17:53.841: E/AndroidRuntime(25005): at java.lang.Class.newInstance(Class.java:1319)
01-05 17:17:53.841: E/AndroidRuntime(25005): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
编辑:我在推特上也遇到过类似的问题,我最终将代码改为使用Activities而不是当前代码,我不知道为什么代码在软件之外运行良好,而当我连接到它时却没有。我还使用Libgdx制作游戏,而不是Unity。问题解决了。
您的问题是startActivity。你必须正确设置它。这里有一个例子:
public class MyActivity extends Activity {
...
static final int PICK_CONTACT_REQUEST = 0;
protected boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
// When the user center presses, let them pick a contact.
startActivityForResult(
new Intent(Intent.ACTION_PICK,
new Uri("content://contacts")),
PICK_CONTACT_REQUEST);
return true;
}
return false;
}
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == PICK_CONTACT_REQUEST) {
if (resultCode == RESULT_OK) {
// A contact was picked. Here we will just display it
// to the user.
startActivity(new Intent(Intent.ACTION_VIEW, data));
}
}
}
}
正如您所看到的,您的代码缺少"Intent"。这就是为什么你会有这个错误。