#c #sqlite #android-ndk #android-sqlite
#c #sqlite #android-ndk #android-sqlite
Вопрос:
Я работаю над частью миграции с 32 на 64 бит. Теперь приложение работает на нескольких устройствах, таких как One Plus 5 (процессор 8xx) или One plus 7 pro (процессор 8xx), но сбой приложения в Redmi, Realme, Samsung M40 с процессором 6xx
Я получаю трассировку стека ниже
#01 0x0000000000398b10 /system/lib64/libart.so (art::MemMap::MapInternal(void*, unsigned long, int, int, int, long, bool) 88)
#02 0x00000000003987ac /system/lib64/libart.so (art::MemMap::MapAnonymous(char const*, unsigned char*, unsigned long, int, bool, bool, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, bool) 484)
#03 0x0000000000263520 /system/lib64/libart.so (art::IndirectReferenceTable::IndirectReferenceTable(unsigned long, art::IndirectRefKind, art::IndirectReferenceTable::ResizableCapacity, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) 140)
#04 0x0000000000319d50 /system/lib64/libart.so (art::JNIEnvExt::JNIEnvExt(art::Thread*, art::JavaVMExt*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) 52)
#05 0x0000000000319c74 /system/lib64/libart.so (art::JNIEnvExt::Create(art::Thread*, art::JavaVMExt*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*) 52)
#06 0x000000000049b170 /system/lib64/libart.so (art::Thread::CreateNativeThread(_JNIEnv*, _jobject*, unsigned long, bool) 440)
#07 0x00000000003e3cbc /system/lib64/libart.so (art::Thread_nativeCreate(_JNIEnv*, _jclass*, _jobject*, long, unsigned char) 156)
#08 0x0000000071cd4a7c /data/dalvik-cache/arm64/system@framework@boot.oat (offset 0xa1a000)
#00 0x0000000002ecc990 /dev/ashmem/dalvik-non moving space (deleted) (offset 0x7000)
#01 0x00000000000212e8 /system/lib64/libopenjdk.so (Java_java_io_UnixFileSystem_checkAccess0 128)
#02 0x0000000071d26e10 /data/dalvik-cache/arm64/system@framework@boot.oat (offset 0xa1a000)
Фатальный сигнал 11 (SIGSEGV), код 2, ошибка addr 0x7697e760 в tid 31901 (firebase-iid-ex), pid 31879 (docs.android)
Комментарии:
1. Вы не используете какой-то пользовательский SQLite, не так ли? как вы отслеживаете этот сбой до
getReadableDatabase()
?2. Нет, я использую Sqlite по умолчанию для Android. Я получил этот аварийный дамп, но я также добавил журналы, и из журналов произошел сбой приложения при обращении к БД с помощью getReadableDatabase() метода SQLiteDatabase.
3. Я обнаружил одно отличие: устройства One plus имеют процессор 8xx, в то время как упомянутые в описании устройства являются процессорами 6xx. Есть ли какая-либо зависимость от процессора?
4. @AlexCohn, я тестировал приложение на многих устройствах Xiaomi, Samsung (S10, S9, M40, A7), но оно не работает, но в Nokia 6.1 plus, One plus (5, 7 pro) работает нормально. Зависит ли это от стандартного Android?
5. @AlexCohn спасибо за вашу поддержку. Я уже поднимал вопрос о отслеживании проблем. issuetracker.google.com/issues/167976846