почему образцы arcore могут загрузить .so из arcore apk, который находится в другом месте установки apk - PullRequest
1 голос
/ 14 мая 2019

Я устанавливаю последнюю версию arcore apk (1.9) и образец acore с именем hello_ar_c в пикселе 2. Когда я запускаю hello_ar_c, есть два связанных процесса. один - com.google.ar.core, а другой - com.google.ar.core.examples.c.helloar. но я считаю, что com.google.ar.core имеет нулевую загрузку процессора. это означает, что com.google.ar.core не запускает алгоритм. Чтобы доказать это. Я проверяю /pid/(hello_ar_c-pid)/maps. И я нахожу hello_ar_c load .so из com.google.ar.core места установки. ниже карты:

/* maps arcore .so */
/data/app/com.google.ar.core-jMwMf9SbRqZtMRT5iapBZA==/lib/arm64/libarcore_c.so
/data/app/com.google.ar.core-jMwMf9SbRqZtMRT5iapBZA==/lib/arm64/libarcore_c.so
/data/app/com.google.ar.core-jMwMf9SbRqZtMRT5iapBZA==/lib/arm64/libarcore_c.so

...
/* build from hello_ar_c sample */
/data/app/com.google.ar.core.examples.c.helloar-E-pvo9ztHnNkxQ68ouzC7w==/lib/arm64/libhello_ar_native.so
/data/app/com.google.ar.core.examples.c.helloar-E-pvo9ztHnNkxQ68ouzC7w==/lib/arm64/libhello_ar_native.so

Почему Arcore может это сделать. Я думаю, что у него нет разрешения на это.

И я нахожу какой-то журнал

05-14 16:48:21.567 32692 32692 I third_party/arcore/ar/core/android/sdk/session_create.cc: Dynamite load ok.
05-14 16:48:21.567 32692 32692 I third_party/arcore/java/com/google/vr/dynamite/client/native/dynamite_client.cc: Attempting to load native library arcore_c from package com.google.ar.core
05-14 16:48:21.579 32692 32692 I third_party/arcore/java/com/google/vr/dynamite/client/native/dynamite_client.cc: Dynamite::LoadNativeRemoteLibrary handle=6591254520239908165

Dynamite::LoadNativeRemoteLibrary используется для загрузки библиотеки из пакета com.google.ar.core.

...