运行发布版本时,Wear App 不安装在手表上

Posted

技术标签:

【中文标题】运行发布版本时,Wear App 不安装在手表上【英文标题】:Wear App Doesnt install on watch when running a release build 【发布时间】:2017-10-09 18:45:09 【问题描述】:

我正在开发一个手表应用程序,它也有一个手持应用程序。要求是手表应用程序应在手机上安装应用程序后自动安装到手表上。但不幸的是,我无法完成。

我知道我需要发布 APK。我一直在尝试做同样的事情,但仍然无法完成。我还在谷歌游戏商店上传了应用程序,看看是否可以帮助我,但仍然没有运气,任何人都可以让我知道我做错了什么。过去几周一直坚持这一点,任何形式的帮助都将不胜感激。

这是我的手机应用程序 gradle

compileSdkVersion 25
buildToolsVersion "25.0.3"
useLibrary 'org.apache.http.legacy'

defaultConfig 
    // office id
    applicationId "appid"
    minSdkVersion 15
    targetSdkVersion 23
    multiDexEnabled true
    versionCode 8
    versionName "1.0.7"

buildTypes 
    release 
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    


dependencies 
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':ImageGrid')
wearApp project(':wear')
compile 'com.google.android.gms:play-services-wearable:10.0.1'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.tf.library.tabs:tftabs:2.1.0'
compile 'com.soundcloud.android:android-crop:1.0.1@aar'
compile 'com.shaishavgandhi:login-buttons:0.1.1'
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:2.0.2'
compile 'it.sephiroth.android.library.picasso:picasso:2.5.2.2'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:gridlayout-v7:25.3.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.6.0'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'

//CHAT UI
compile 'hani.momanii.supernova_emoji_library:supernova-emoji-library:0.0.2'
compile 'me.himanshusoni.chatmessageview:chat-message-view:1.0.3'

// AUTH
compile 'com.google.android.gms:play-services-auth:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.0'

//DATABASE FIREBASE,UI
compile 'com.google.firebase:firebase-database:10.0.0'
compile 'com.firebaseui:firebase-ui-database:1.0.1'

//STORAGE FIREBASE
compile 'com.google.firebase:firebase-storage:10.0.0'

//Places SERVICES
compile 'com.google.android.gms:play-services-places:10.0.1'


compile 'com.google.firebase:firebase-messaging:10.0.0'
compile 'com.google.firebase:firebase-crash:10.0.0'
compile 'com.android.support:multidex:1.0.0'

// 编译 'com.google.android.gms:play-services-maps:9.6.1' // 编译 'com.google.android.gms:play-services:8.4.0'

compile 'org.jsoup:jsoup:1.8.3'
compile 'com.victor:lib:1.0.1'
compile 'com.github.myinnos:AwesomeImagePicker:1.0.1'
compile 'com.adityak:browsemyfiles:1.4'
compile 'id.zelory:compressor:1.0.4'

compile files('libs/aspectjrt-1.7.3.jar')
compile files('libs/isoparser-1.0.6.jar')

这是我的 Wear 应用 gradle 文件

compileSdkVersion 25
buildToolsVersion "25.0.3"

defaultConfig 
    applicationId "appid"
    minSdkVersion 18

    targetSdkVersion 22
    versionCode 7
    versionName "1.0.6"

buildTypes 
    release 
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    


dependencies 
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v13:25.3.1'
provided 'com.google.android.wearable:wearable:2.0.3'
compile 'com.google.android.support:wearable:2.0.3'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:2.0.2'
compile 'com.google.android.gms:play-services-wearable:10.0.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.6.0'

为了确保它正常工作,我为应用程序和可穿戴设备设置了相同的包名称

请帮帮我。

谢谢

【问题讨论】:

【参考方案1】:

正如thread 中所述,请尝试检查您的权限。 Smartphone 部分需要拥有 Wear 组件的所有权限。

您也可以查看此post 以供参考。

...在您的手机应用的 build.gradle 文件中,您应该提及 wear 应用文件夹的确切名称。如果您在 Android Studio 中创建了项目,那么您的 build.gradle 应该如下所示:

                      wearApp project(':wear')

这可能是由于以下原因:

Wear & Mobile 应用的"permissions" 不一样。 Package name 的 Wear 和 Mobile 应用不匹配。 移动和穿戴应用的Application ID(build.gradle 文件)不匹配。 资产压缩

希望这会有所帮助!

【讨论】:

这些是我的 Wear 应用清单中仅有的 2 件事,我的应用也有 Internet 权限 应用 ID 相同 包名称相同

以上是关于运行发布版本时,Wear App 不安装在手表上的主要内容,如果未能解决你的问题,请参考以下文章

Wear OS - 如何在设备重启时自动启动应用程序

Android Wear没有拿起本地化版本

在 Android Wear 中正确显示通知

在 Android Wear OS(即 CSV)上保存和传输智能手表传感器数据的最佳方式是啥?

使用 Google fit 从配对应用程序中读取 Wear os 手表的心率

Android Wear OS 在后台检索计步器