我目前开始为 Pepper Robot 开发。Choreagraphe/Python + 标准 Android SDK 工作正常。
我现在看到有一个 Java SDK 可以本地访问 Pepper API(ALMemory、ALSpeechToText ...):
http://doc.aldebaran.com/2-4/dev/java/index_java.html
到目前为止我所做的:我下载了库并将其添加到我的 Android 项目中的 libs 下。
我的代码只包含这个:
包 com.example.falu.peppertest;
导入android.support.v7.app.AppCompatActivity;导入android.os.Bundle;
导入 com.aldebaran.qi.Application;导入 com.aldebaran.qi.Session;
公共类 MainActivity 扩展 AppCompatActivity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override protected void onStart() { super.onStart(); String[] args = new String[]{"qi-url=tcp://falu-sp4.local:9559"}; //Using official SDK try { Application app = new Application(args); } catch(Exception ex) { ex.printStackTrace(); } } }
在使用列表中,它说它可以在 ARM Android 4 上使用。不幸的是,Adnroid SDK 在 Android 5 (Lollipop) 上运行
有没有办法在那里使用这个库?
如果我尝试,我总是会收到消息:
10-23 07:11:57.253 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] JNI 检测到应用程序错误:GetMethodID 收到 null jclass 10-23 07:11: 57.253 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] 在调用 GetMethodID 10-23 07:11:57.253 3311-3311/com.example.falu.peppertest A /art: art/runtime/check_jni.cc:65] 来自 java.lang.Object com.aldebaran.qi.DynamicObjectBuilder.object(long) 10-23 07:11:57.253 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] "main" prio=5 tid=1 Runnable 10-23 07:11:57.253 3311-3311/com.example.falu.peppertest A/art: art/runtime /check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x7490b000 self=0xb4025800 10-23 07:11:57.254 3311-3311/com.example.falu.peppertest A/art: 艺术/运行时/check_jni.cc:65] | sysTid=3311 nice=0 cgrp=default sched=0/0 handle=0xb7772ea0 10-23 07:11:57.254 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] | state=R schedstat=( 0 0 0 ) utm=15 stm=42 core=0 HZ=100 10-23 07:11:57.254 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni .cc:65] | stack=0xbf099000-0xbf09b000 stackSize=8MB 10-23 07:11:57.254 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] | 持有互斥锁=“mutator lock”(共享持有)10-23 07:11:57.254 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] native: #00 pc 00005d03 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+83) 10-23 07:11:57.254 3311-3311/com.example.falu.peppertest A/art: art/runtime/ check_jni。)+82) 10-23 07:11:57.255 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] native: #10 pc 00097dd5 /data/app/com. example.falu.peppertest-2/lib/x86/libqimessagingjni.so (JNIObject::JNIObject(qi::Object#40 pc 00434a88 /system/lib/libart.so (artQuickToInterpreterBridge+872) 10-23 07:11:57.259 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65]本机:#41 pc 000e62b2 /system/lib/libart.so (art_quick_to_interpreter_bridge+34) 10-23 07:11:57.259 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc: 65] 本机:#42 pc 00852ca5 /data/dalvik-cache/x86/system@framework@boot.oat (???) 10-23 07:11:57.259 3311-3311/com.example.falu.peppertest A/艺术:艺术/运行时/check_jni.cc:65] 本机:#43 pc 98fe3802 ??? 10-23 07:11:57.259 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] native: #44 pc 54984e1f ??? 10-23 07:11:57.260 3311-3311/com.example.falu.peppertest A/art: art/runtime/check_jni.cc:65] native: #45 pc 9f0097a1 ??? 10-23 07:11:57。
谢谢!