Как найти телефон Android с 64-битной операционной системой для тестирования программного обеспечения? - PullRequest
0 голосов
/ 10 июня 2019

Хотя во многих телефонах установлены 64-разрядные процессоры ARM, все они работают под управлением 32-разрядных операционных систем Android.На каких телефонах установлена ​​64-битная версия Android?

После тестирования на 64-битном эмуляторе Android мне нужно настоящее Android-устройство с 64-битной операционной системой для тестирования классической связи Bluetooth 4.0.

Мое приложение использует собственный код и JNI.Это не чистая Java.

Фон : Начиная с 1 августа 2019 года Google требует, чтобы все приложения, опубликованные в Google Play, поддерживали 64-разрядную версию Android.

Начиная с 1 августа 2019 года ваши приложения, публикуемые в Google Play, должны будут поддерживать 64-разрядные архитектуры

Я не могу найти способ найти и найти устройства Android с 64-разрядной ОС Android.

Что я узнал:

  • Аппаратное обеспечение ARM64 делаетНЕ означает, что устройство работает под управлением Android 64-bit, только то, что оно способно.
  • Пример: я купил Moto G7;ARM64 и 4 ГБ оперативной памяти, он работает 32-битный Android .
  • Samsung S7 имеет ARM64 и только 1,5 ГБ ОЗУ, но DOES работает 64-битный Android .
  • Факт: ОЗУ> 4 ГБ не адресуется 32-разрядным Android.Это не полезный показатель для 64-битной версии Android, поскольку все доступные устройства Android имеют 4 ГБ или меньше оперативной памяти.

Единственное решение - получить доступ к устройству перед покупкой или попросить друга и получить точно такую ​​же модель.

У меня есть сообщения от коллег о том, что Pixel1 и Pixel2 работают под управлением 64-разрядной версии Android.Я не могу сделать общее заявление о том, что все пиксели работают под управлением 64-разрядной версии Android, но это может быть правдой.

1 Ответ

0 голосов
/ 12 июня 2019

РЕДАКТИРОВАТЬ: у меня есть значительный объем статистики для пользовательских устройств Android. Отчет предоставляет текущую архитектуру ЦП из библиотеки JNI в той же логике, что и ниже. Статистика также имеет содержание Build.MODEL - около 2000 различных строк для ARM64. Список слишком велик для SO-ответа, поэтому я опубликовал его в другом месте. Наслаждайтесь.

Хотя нет гарантии. Существует вероятность того, что один оператор мобильной связи поставит модель с 32-разрядной ОС, а другой продаст ее с 64-разрядной.

Некоторые строки заняли бы немного Google. То, как поставщики устройств распространяют свою подпись по полям Build, совсем не одинаково.


Если у вас есть компонент JNI, и вы создаете его для всех архитектур, введите условие, основанное на текущей цели компиляции, и запросите его со стороны Java.

extern "C" jboolean JNIEXPORT Java_com_acme_MyClass_Is64(JNIEnv *jni, jobject cl)
{
#if defined(__aarch64__) || defined(__amd64__)
    return JNI_TRUE;
#else
    return JNI_FALSE;
#endif
}

Игнорирование MIPS64, которое даже не поддерживается в современных версиях NDK. На стороне Java это будет доступно как:

package com.acme;
class MyClass
{
    public static native boolean Is64();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...