Не удается установить apk после подготовки устройства (Android 8.0)

#android #cosu #android-management-api

#Android #cosu #android-management-api

Вопрос:

Мы разрабатываем приложение COSU с использованием API управления Android и подготовки QR-кода. Мы планируем распространять приложение в частном Google Play, но пока я пытаюсь заставить его работать с ручной установкой с использованием apk. Вот как это должно работать:

  1. Клиент получает от нас QR-код, который применяет политику без ограничений к устройству.
  2. После подготовки клиент загружает apk из какого-либо другого источника (возможно, по электронной почте) и устанавливает его.
  3. Клиент применяет политику с ограничениями из приложения при вызове API.

Итак, я застрял на втором шаге — попытка установить загруженный apk приводит к этой ошибке:

Политика по умолчанию, похоже, в порядке:

   {
   "name": "enterprises/<enterpriseName>/policies/policy_unlocked",
   "version": "11",
   "applications": [
    {
     "packageName": "com.axmor.fsinphone",
     "installType": "AVAILABLE",
     "defaultPermissionPolicy": "GRANT"
    }
   ],
   "persistentPreferredActivities": [
    {
     "receiverActivity": "com.axmor.fsinphone",
     "actions": [
      "android.intent.action.MAIN"
     ]
    }
   ],
   "systemUpdate": {
    "type": "WINDOWED",
    "startMinutes": 120,
    "endMinutes": 240
   },
   "debuggingFeaturesAllowed": true
  }
 ]
}
  

И эта политика применяется к устройству:

    "policyName": "enterprises/<enterpriseName>/policies/policy_unlocked",
   "appliedPolicyName": "enterprises/<enterpriseName>/policies/policy_unlocked",
  

Что я пробовал:

  1. Установка релизного apk и подписанного apk (тот же результат)
  2. Установка apk с помощью adb из Android studio — это работает, но это не то, что я хочу.

Комментарии:

1. Вы пробовали установить APK из Play? Показанный вами скриншот не похож на сообщение из Play, как вы его запустили?

2. Нет, я просто создаю apk в Android Studio, помещаю его в папку «Загрузки» на устройстве и пытаюсь установить его оттуда. Мы пока не уверены, что наш клиент одобрит использование Google Play для распространения, и в любом случае мы должны каким-то образом показать приложение клиенту во время разработки.

3. Я вижу, имеет смысл. В этом случае вы можете попробовать установить installUnknownSourcesAllowed на true в политике, посмотреть, устраняет ли это проблему?

4. Спасибо, это сработало! Но важно упомянуть, что по какой-то причине мне пришлось перезагрузить и подготовить устройство еще раз.

5. Рад, что это сработало. И действительно странно, что вам пришлось выполнить сброс, поскольку обычно политика должна была применяться после ее обновления.

Ответ №1:

(копирую решение здесь из комментариев)

Чтобы иметь возможность устанавливать приложения из-за пределов Play Store, вам необходимо указать installUnknownSourcesAllowed значение true в Политике. Более подробная информация приведена в рекомендациях по политике.