我正在使用Alljoyn框架创建一个聊天应用程序,我得到以下错误,有人可以帮助我。 alljoyn罐已经设置!!!
#define IN _In_
#define OUT _Out_
答案 0 :(得分:1)
您需要将AllJoyn liballjoyn_java.so文件放在项目中。 例如,在Android Studio中,此文件的通常位置是: [your_project_dir] /应用/ SRC /主/ jniLibs / armeabi /
上述路径的armeabi部分假设您之前构建的AllJoyn .so文件是针对' arm' CPU(armeabi指令集)。
注意:当我从我的应用程序中删除.so文件时,出现了与您报告的错误相同的错误。当我把.so文件放回去时,我仍然遇到同样的错误。我不得不从我的Android设备上卸载应用程序,在Android Studio中我必须清理并重建应用程序,然后才能解决此错误。
要考虑的其他一些事情......
在您的应用中确保您正在呼叫
static {
System.loadLibrary("alljoyn_java");
}
确保您之前构建的liballjoyn_java.so与Android设备的cpu指令集匹配。例如,您可以使用诸如Droid Info之类的应用验证Android的指令集。假设它是armeabi,那么当你构建AllJoyn核心项目时,你需要在scons build命令中至少指定以下开关....
scons BINDINGS="cpp,java,c" OS=android CPU=arm VARIANT=release
最后,以下Stackoverflow链接讨论了您可能发生的错误的一般原因: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader