Error running Structure Core sample Android


#1

Hi, I’m a new developer trying to run the Structure Core samples to an android phone. My system is a Windows 10 with Intel i5 2400 with integrated GPU,Intel HD 2000 Graphics. I’m trying to build and run the samples with Android Studio 3.4.

I tried to run the samples in several fairly new android phones, but I always get the same error:

java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
[
DexPathList
[
[
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/base.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_dependencies_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_resources_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_0_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_1_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_2_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_3_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_4_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_5_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_6_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_7_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_8_apk.apk”,
zip file “/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_9_apk.apk”
],
nativeLibraryDirectories=[
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/lib/arm64,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/base.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_dependencies_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_resources_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_0_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_1_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_2_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_3_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_4_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_5_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_6_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_7_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_8_apk.apk!/lib/arm64-v8a,
/data/app/com.occipital.GuiTest-EZ6spsti8p4Rx82Wv1QRRg==/split_lib_slice_9_apk.apk!/lib/arm64-v8a,
/system/lib64
]
]
]
couldn’t find “libMainActivity.so”

Any thought?
Thanks.


#2

Could you send over the whole log file so that we can see a little more info?


#3

Thanks for replying, I already fixed the compilation.

Now I have another issue. I installed the CoreFirmware and CorePlayground in three smartphones, Samsung S10, Huawei P8 Lite and a Mi A2. And each one has a different behaviour:

  • Mi A2: CorePlayground same runs fine.
  • Samsung S10: CorePlayground stucks with a white screen before asking for permissions.
  • Huawei P8 Lite: CorePlayground shows a white screen and then the app is closed.

I tried to debug the sample app with the Samsung step by step and the app throws a exception inside StructureSDK0.7.2\Libraries\SampleProcessing\FrameRenderer.cpp, line 120:

static GLuint loadShader(const char *fragmentShaderSrc) {

GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragmentShader, 1, &fragmentShaderSrc, nullptr);
glCompileShader(fragmentShader);
glGetShaderiv(fragmentShader, GL_COMPILE_STATUS, &status);
if (!status) {
reportShaderErrorOnFailureToCompile(fragmentShader);
throw std::runtime_error(“Failed to load fragment shader”);
}

}

Right now I can’t debug the Huawei one, sorry.

Thanks again.