Android Watch Face, «несовместим с этим устройством». Я чего-то не хватает

Хорошо, я недавно начал заниматься разработкой Android и сделал простое лицо для часов. У меня нет Android-часов (или любого другого устройства Android), поэтому я использую эмулятор.

Ну, часовое лицо отлично работает через эмулятор. Поэтому я выставил его в Google Play и попросил пару друзей «бета» протестировать его для меня.

К сожалению, никто из них не мог заставить его работать на своих часах. Они сообщили мне, что получили сообщение «несовместимо», и поэтому не смогли установить лицо часов.

Я разработал его в соответствии с API 21 (Lollipop), используя Android Studio. Это может быть одна проблема.

Чтобы быть ясным: когда я настраивал проект, я делал это только как приложение «изнашивание», а не как тот, который вы накладывали на свой телефон. Возможно, это еще одна ошибка с моей стороны.

Я немного поработал над поиском и не могу найти ничего о том, что мне нужно сделать в своем коде, чтобы исправить это, и я не совсем уверен, как перекомпилировать под другим SDK, если это то, что я нужно сделать.

Есть идеи по этому поводу?

РЕДАКТИРОВАТЬ:

По запросу, вот манифест:

<?xml version="1.0" encoding="utf-8"?>

<uses-feature android:name="android.hardware.type.watch" />

<!-- Required to act as a custom watch face. -->
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.DeviceDefault" >
    <service
        android:name=".MorseWatchFace"
        android:label="@string/my_digital_name"
        android:permission="android.permission.BIND_WALLPAPER" >
        <meta-data
            android:name="android.service.wallpaper"
            android:resource="@xml/watch_face" />
        <meta-data
            android:name="com.google.android.wearable.watchface.preview"
            android:resource="@drawable/preview_digital" />
        <meta-data
            android:name="com.google.android.wearable.watchface.preview_circular"
            android:resource="@drawable/preview_digital_circular" />

        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService" />

            <category android:name="com.google.android.wearable.watchface.category.WATCH_FACE" />
        </intent-filter>
    </service>

    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
</application>

android,wear-os,

1

Ответов: 1


1 принят

Если ваши пользователи устанавливают ваш apk со своих телефонов (какие они есть, если они используют магазин Google Play на своем телефоне), вы должны загрузить телефон APK.

Ваш носимый APK будет поддерживать примерно 19 устройств, что имеет смысл - это о том, сколько устройств соответствует критериям. Google Play предоставит APK устройствам с определенными функциями (см. Https://developer.android.com/google/play/publishing/multiple-apks.html ). Поэтому, если вы определили носящую функцию, она будет ориентирована только на часы.

Я рекомендую создать новый телефонный модуль. Все, что ему действительно нужно, - это базовый манифест (только <application>блок) и зависимость градиента от вашего загружаемого модуля (например, добавьте строку wearApp project(':your-wearable-module')в блок зависимостей файла модуля градиента). Затем просто опубликуйте этот модуль в Google Play. Этот телефон apk по существу просто разместит ваш носимый apk внутри него, чтобы он мог быть установлен на телефонах.

андроид, носить-Os,
Похожие вопросы