相关疑难解决方法(0)

Android Wear应用程序无法通过手机安装

我正在尝试通过Android手机安装可穿戴应用程序,使用此处找到的"使用Android Studio方法打包" ,但它无效.apk永远不会安装到可穿戴设备上.这是logcat输出:

07-28 15:11:54.107      766-820/? W/PackageManager? Unknown permission com.google.android.wearable.READ_SETTINGS in package com.google.android.gms
07-28 15:11:54.117      766-820/? W/PackageManager? Not granting permission com.google.android.gm.permission.AUTO_SEND to package com.google.android.wearable.app (protectionLevel=2 flags=0x88be44)
07-28 15:11:54.117      766-820/? W/PackageManager? Not granting permission android.permission.MEDIA_CONTENT_CONTROL to package com.google.android.wearable.app (protectionLevel=18 flags=0x88be44)
07-28 15:11:55.047      632-632/? D/WearablePkgInstaller? Got PackageUpdateReceiver message Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:my.package.name flg=0x4000010 cmp=com.google.android.wearable.app/com.google.android.clockwork.companion.packagemanager.PackageUpdateReceiver (has extras) }
07-28 15:11:55.177      632-632/? D/WearablePkgInstaller? Got PackageUpdateReceiver message Intent { act=android.intent.action.PACKAGE_ADDED dat=package:my.package.name flg=0x4000010 cmp=com.google.android.wearable.app/com.google.android.clockwork.companion.packagemanager.PackageUpdateReceiver (has extras) }
Run Code Online (Sandbox Code Playgroud)

作为旁注,我能够手动打包(也在上面的链接中描述),当我在手机上运行时,apk安装在可穿戴设备上.我正在使用buildToolsVersion 20.0.0,我正在运行Android Studio 0.8.2并且在我的手机模块的build.gradle中有这一行:

wearApp project(':wearable') …
Run Code Online (Sandbox Code Playgroud)

android apk wear-os

20
推荐指数
3
解决办法
1万
查看次数

将移动应用与Android Wear同步

根据文档:打包可穿戴应用程序我使用以下代码:

dependencies 
{
  compile 'com.google.android.gms:play-services:5.0.+@aar'
  compile 'com.android.support:support-v4:20.0.+''
  wearApp project(':wearable')
}
Run Code Online (Sandbox Code Playgroud)

我使用Generate Signed APK生成了发布版本.我第一次安装apk时,安装了android的应用程序正确地按需要运行.

我从手机上卸载了应用程序.android Wear应用程序也可以在没有任何问题的情况下卸载,但是如果我再次在我的手机中安装应用程序,我在android中看不到应用程序.我不确定为什么会这样.我已尝试使用与android兼容的不同应用程序,这些工作正常.再次安装和卸载安装,我可以在android Wear模拟器上看到它们.

这是我的Application文件夹中的build.gradle文件:

apply plugin: 'com.android.application'

android {
compileSdkVersion 20
buildToolsVersion '20.0.0'

defaultConfig {
    applicationId "com.ysk.notes"
    minSdkVersion 9
    targetSdkVersion 20
    versionCode 3
    versionName "1.02"
}
buildTypes {
    release {
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
 }
}

dependencies
      {
        compile fileTree(include: ['*.jar'], dir: 'libs')
        compile project(':FacebookSDK')
        compile files('libs/activation.jar')
        compile files('libs/additionnal.jar')
        compile files('libs/mail.jar')
        compile 'com.google.android.gms:play-services:5.0.+@aar'
        compile 'com.android.support:support-v4:20.0.+'
        wearApp project(':Wearable')




        configurations
                {
                    all*.exclude group: 'com.android.support', module: …
Run Code Online (Sandbox Code Playgroud)

android wear-os

7
推荐指数
1
解决办法
5582
查看次数

无法安装我的应用程序

我试图在我现有的应用程序中添加一个磨损模块,尝试了很多解决方案,但无法弄清楚为什么我的应用程序没有安装在我的手表上.

我尝试了什么:

首先,使用我的应用程序手动打包:https://developer.android.com/training/wearables/apps/packaging.html

但我很快就决定不通过这个.

然后我决定去gradle include,所以对于app的build.gradle,我将以下内容添加到依赖项的末尾:

debugWearApp project(path:':wear', configuration: 'flavor1Debug')
releaseWearApp project(path:':wear', configuration: 'flavor1Release')
Run Code Online (Sandbox Code Playgroud)

对于build.gradle的磨损,我在依赖的开头添加了以下内容:

wearApp project(':wear')
Run Code Online (Sandbox Code Playgroud)

然后,在android{}build build.gradle的部分,之后buildToolsVersion,我添加了以下内容:

publishNonDefault true
Run Code Online (Sandbox Code Playgroud)

我所看到的:

  • 使用蓝牙调试磨损将磨损应用程序安装到磨损上没问题

然后,当我安装一个生成我的应用程序的发布版本时,我可以看到它已经添加了一个文件android_wear_micro_apk.apk到res/raw这是我的手表应用程序.我还在res/xml中看到了一个文件android_wear_micro_apk.xml,我猜想在hexa代码之间,有一个穿戴app的描述.

然后我比较签名:

keytool -list -printcert -jarfile mobile_app.apk
keytool -list -printcert -jarfile wear_app.apk
Run Code Online (Sandbox Code Playgroud)

使用res/raw中生成的磨损应用程序.它们完全具有相同的签名.然后我比较:

aapt dump badging mobile_app.apk
aapt dump badging wear_app.apk
Run Code Online (Sandbox Code Playgroud)

它们具有完全相同的包名称和版本代码和名称.

所以,从那个:

  • 正确添加穿戴Apk
  • 如果使用adb和bluetooth调试安装在磨损上,则穿戴的Apk正在工作
  • 两个apk都有相同的版本号,版本名称和包名
  • 磨损不需要任何许可
  • 电话正在请求以下权限
    • android.permission.ACCESS_NETWORK_STATE
    • android.permission.INTERNET对
    • com.android.vending.BILLING
    • com.google.android.c2dm.permission.RECEIVE
    • android.permission.VIBRATE
    • android.permission.WRITE_EXTERNAL_STORAGE
    • android.permission.BLUETOOTH
    • android.permission.BLUETOOTH_ADMIN
    • com.samsung.accessory.permission.ACCESSORY_FRAMEWORK
    • com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY
    • com.samsung.WATCH_APP_TYPE.Companion
    • com.samsung.wmanager.ENABLE_NOTIFICATION

我真的很想知道我能忘记什么.

谢谢你的帮助

android wear-os

7
推荐指数
1
解决办法
2030
查看次数

标签 统计

android ×3

wear-os ×3

apk ×1