当我尝试在Google Play开发者控制台中上传我的APK时,它会给我0个支持的设备。此应用程序是为Android Wear开发的。我试图查看清单文件,但没有发现任何问题。
佩戴AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.util.uni.student" >
<uses-sdk
android:minSdkVersion="21"
android:targetSdkVersion="22"
android:versionCode="1"
android:versionName="1.0"
/>
<uses-feature android:name="android.hardware.type.watch" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/st_icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.DeviceDefault" >
<activity
android:name=".studentBroadcastActivity"
android:label="student" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".studentReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.util.uni.student.SHOW_NOTIFICATION" />
</intent-filter>
</receiver>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
</application>
</manifest>
编辑:
我已经做了你提到的改变。现在我有两个项目,一个是空的移动模块,包含我的可穿戴模块的参考。但是,仍然得到0兼容设备。
穿Build.Gradle脚本
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.util.uni.student"
minSdkVersion 19
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
}
移动Build.Gradle脚本
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.util.uni.student"
minSdkVersion 19
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:1.2.0'
compile 'com.google.android.gms:play-services:7.5.0'
}
移动AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.util.uni.student">
<uses-feature android:name="android.hardware.type.watch" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application android:allowBackup="true" android:label="@string/app_name"
android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
</application>
</manifest>
编辑#2:
我已更新移动AndroidManifest.xml并从中删除了手表功能。现在,它正在显示设备,但没有将手表显示为设备。
答案 0 :(得分:2)
根据您更新的问题,您的移动清单不需要观看功能。这应仅包含在手表应用程序中。
<uses-feature android:name="android.hardware.type.watch" />
在澄清之前的原始答案可能有助于其他人
您无法仅将手表应用程序上传到Play商店,它需要包含在移动apk文件中,即使它只是一个空容器。
你应该有一个包含可穿戴应用程序作为依赖项的移动build.gradle,我的示例下面是一个名为wear的单独模块,它是我项目的一部分,包含监视应用程序。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
compile 'com.google.android.gms:play-services-wearable:7.3.0'
...
}