【发布时间】:2015-06-19 13:39:02
【问题描述】:
我正在尝试将 akka 与 android 一起使用。我的用例非常简单,我已经给出了下面代码的 akka 部分。
Button btn = (Button) findViewById(R.id.button);
final TextView txtView = (TextView) findViewById(R.id.textView);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ActorSystem system = ActorSystem.create("lingua", ConfigFactory
.parseFile(new File("client.conf")));
ActorRef master = system.actorOf(Props.create(MessageProcessor.class), "processor");
txtView.setText(master.path().toString());
master.tell("I am here", ActorRef.noSender());
}
});
我的应用程序在启动时崩溃。我在日志猫中收到以下错误。
06-19 18:49:40.780 18477-18477/com.ngtech.akkatest E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV11
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:414)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57)
at com.ngtech.akkatest.AkkaActivity.onCreate(AkkaActivity.java:15)
at android.app.Activity.performCreate(Activity.java:5252)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2038)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2099)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4954)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
at dalvik.system.NativeStart.main(Native Method)
我已经解决了下面给出的 stackoverflow 论坛中列出的问题
Akka on Android multiple reference.conf
但应用程序仍然崩溃。我没有使用 scala/scaloid。我正在为 java 使用 akka lib。
我已上传完整代码here
我已将以下 akka jar 添加到 libs 文件夹 1.akka-actor_2.11-2.3.11.jar 2.config-1.2.1.jar 3. scala-library-2.11.5.jar
可能出了什么问题。请指导我解决问题。
【问题讨论】:
-
看起来该错误与 Akka 无关,而是缺少 AppCompat 库
-
我也这么认为,但如果我删除代码的 akka 部分,它就可以正常工作:)