Android “安卓手表脸”;与此设备不兼容;。I';我错过了一些东西

Android “安卓手表脸”;与此设备不兼容;。I';我错过了一些东西,android,wear-os,Android,Wear Os,好的,我最近开始涉足Android开发,并制作了一个简单的手表面板。我没有安卓手表(或任何其他安卓设备),所以我使用的是模拟器 嗯,手表表面通过模拟器工作得很好。所以我把它放在Google Play上,请几个朋友帮我测试一下 不幸的是,他们中没有人能在手表上工作。他们向我报告说,他们收到了“不兼容”消息,因此无法安装手表表面 我使用Android Studio在API 21(棒棒糖)下开发了它。这可能是一个问题 要明确的是:当我建立这个项目时,我只是作为一个“穿戴”应用程序,而不是你放在手机上的

好的,我最近开始涉足Android开发,并制作了一个简单的手表面板。我没有安卓手表(或任何其他安卓设备),所以我使用的是模拟器

嗯,手表表面通过模拟器工作得很好。所以我把它放在Google Play上,请几个朋友帮我测试一下

不幸的是,他们中没有人能在手表上工作。他们向我报告说,他们收到了“不兼容”消息,因此无法安装手表表面

我使用Android Studio在API 21(棒棒糖)下开发了它。这可能是一个问题

要明确的是:当我建立这个项目时,我只是作为一个“穿戴”应用程序,而不是你放在手机上的应用程序。也许这是我的另一个错误

我已经做了大量的搜索,但实际上找不到任何关于我需要在代码中做什么来修复这个问题的信息,我也不确定如何在不同的SDK下重新编译,如果我需要这样做的话

有什么想法吗

编辑:

根据请求,以下是清单:

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



如果您的用户从他们的手机安装apk(如果他们在手机上使用Google Play store,他们就是这样),您必须上传手机apk

你的可穿戴APK只能支持大约19台设备,这是有道理的——这就是有多少台设备符合标准。Google Play将为定义了相同功能的设备提供APK(请参阅)。因此,如果您定义了可穿戴功能,它将只针对手表


我建议创建一个新的电话模块。它真正需要的只是一个基本清单(只是一个
块)和对可穿戴模块的渐变依赖项(例如,将行
wearApp项目(“:您的可穿戴模块”)
添加到手机模块渐变文件的依赖项块)。然后将该模块发布到Google Play。这款手机的apk基本上只是将你的可穿戴apk放在里面,以便安装在手机上

你能显示manifest.xml吗?@MathieuBertin是上面添加的。@MathieuBertin进一步检查后,我的应用程序似乎只与大约19台设备兼容。所以我想我需要的是扩展的能力,这样更多的人会喜欢手表。我主要是听你说的。但我有点不清楚。如果我专门为手表做这个,我还需要做手机吗?如果我读对了你说的话,我会的。是的。From:发布给用户时,您必须将可穿戴应用程序打包到手持应用程序中,因为用户无法直接在可穿戴应用程序上浏览和安装应用程序。这将在Wear 2明年推出时发生变化,但在此之前,请按照该页上的打包说明进行操作。@String我可以在发布后添加移动应用程序并使其仍能工作吗?我的项目现在在Watch emulator中工作。因此,如果我将移动部件添加到该项目中,它是否应该按照您提供的链接中的描述工作?我想我会试试,看看会发生什么。@MJR应该很好,不管你按什么顺序做。您只需要执行该链接中的步骤。
<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>