Развертывание сервиса в Google Play - PullRequest
1 голос
/ 01 ноября 2019

Я хотел бы создать сервис (назовем его Service A), который работает на Android и используется сторонними приложениями (назовем одно из этих приложений Application B). Такое решение будет похоже на Google Play Services for AR.

Я пытаюсь понять, как создать зависимость между Application B и Service A в магазине, чтобы приустановка Application B, Service A также установлена.

Чтобы вернуться к примеру Google Play Services for AR, как стороннему разработчику приложений, мне просто нужно указать зависимость от библиотеки ARCore, и когдаЯ устанавливаю приложение на устройство, служба также устанавливается.

Причина, по которой я хочу это сделать, заключается в том, чтобы иметь возможность обновлять Service A независимо от обновлений до Application B в качестве цикла выпуска Application B не под моим контролем.

1 Ответ

1 голос
/ 01 ноября 2019

Чтобы create the dependency between Application B, and Service A Вы определенно можете использовать тег used-library Manifest, чтобы запретить людям загружать его из магазина без вашей пользовательской зависимости на их устройстве, но это только помешает имполучить его из магазина;они все еще могли бы скачать его множеством других способов.

Лучше всего сделать так, чтобы ваше приложение запускалось для определенной активности запуска, которая проверяет, существует ли пакет на их устройстве:

    public static boolean doesUseHaveMyDependency(Context context){
        try{
            context.getPackageManager().getApplicationInfo("com.yourlib.package", 0 );
            return true;
        } catch( PackageManager.NameNotFoundException e ){
            return false;
        }
    }

С этим вы можете определить, есть ли ваша пользовательская библиотекаустановлен. Если нет, просто перенаправьте их на ссылку для загрузки, чтобы получить его, а затем, когда они снова откроют приложение, вы проверяете снова. Как только вы подтвердите, что они есть, вы можете перейти к основному приложению.

...