Android Wear 应用不是从移动包安装的
Android Wear app not installing from the mobile package
是的,我已按照所有其他说明和链接进行操作。我的可穿戴应用肯定会与移动应用打包,但不会安装。
mobile.apk 的调试版本为 4.9MB,wear.apk 的调试版本为 1.9MB。当我构建签名发布版本时,mobile.apk 是 5.8MB,所以我相信打包正在发生。
当我在手持设备上执行 mobile.apk 的 adb install
时,在手持设备的 logcat 中出现以下错误(应用程序包是 com.pipperpublishing.refwatch所以请注意第二个错误中奇怪的 refwatch-1
引用):
01-27 07:49:59.129 8729-8729/? W/System.err: android.content.pm.PackageManager$NameNotFoundException: com.pipperpublishing.refwatch
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:303)
01-27 07:49:59.129 8729-8729/? W/System.err: at com.samsung.aasaservice.AASAUpdateReceiver.onReceive(AASAUpdateReceiver.java:33)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread.handleReceiver(ActivityThread.java:2948)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread.access00(ActivityThread.java:172)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1498)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.os.Looper.loop(Looper.java:145)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5835)
01-27 07:49:59.129 8729-8729/? W/System.err: at java.lang.reflect.Method.invoke(Native Method)
01-27 07:49:59.129 8729-8729/? W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
01-27 07:49:59.129 8729-8729/? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
01-27 07:49:59.129 8729-8729/? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
01-27 07:50:54.219 771-11243/? W/System.err: java.io.FileNotFoundException: /data/app/com.pipperpublishing.refwatch-1: open failed: EISDIR (Is a directory)
01-27 07:50:54.239 771-11243/? W/System.err: at libcore.io.IoBridge.open(IoBridge.java:456)
01-27 07:50:54.239 771-11243/? W/System.err: at java.io.FileInputStream.<init>(FileInputStream.java:76)
01-27 07:50:54.239 771-11243/? W/System.err: at android.content.pm.PackageParser.getHashValueOfPackage(PackageParser.java:5141)
01-27 07:50:54.239 771-11243/? W/System.err: at com.android.server.pm.PackageManagerService.saveHash(PackageManagerService.java:18383)
01-27 07:50:54.239 771-11243/? W/System.err: at com.android.server.pm.PackageManagerService.access00(PackageManagerService.java:329)
01-27 07:50:54.239 771-11243/? W/System.err: at com.android.server.pm.PackageManagerService.run(PackageManagerService.java:18368)
01-27 07:50:54.239 771-11243/? W/System.err: Caused by: android.system.ErrnoException: open failed: EISDIR (Is a directory)
01-27 07:50:54.239 771-11243/? W/System.err: at libcore.io.IoBridge.open(IoBridge.java:446)
01-27 07:50:54.239 771-11243/? W/System.err: ... 5 more
我已经尝试过将手表恢复出厂设置、重新同步等等。有什么想法吗?
这是我的手机build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.pipperpublishing.refwatch"
minSdkVersion 14
targetSdkVersion 23
versionCode 203
versionName "0.2.03"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-identity:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
}
apply plugin: 'com.google.gms.google-services'
和我的 "wear" build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
applicationId "com.pipperpublishing.refwatch"
minSdkVersion 21
targetSdkVersion 23
versionCode 203
versionName "0.2.03"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:1.3.0'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:support-v13:23.1.1'
compile 'com.google.android.gms:play-services-wearable:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
}
apply plugin: 'com.google.gms.google-services'
只有使用发布的.apk 文件才会自动安装穿戴应用程序。它不会使用调试密钥工作。
如果应用程序是使用释放密钥签名的,则检查该应用程序是否已存在于android磨损设备中。
因此,经过多次卸载和重新安装,但未更改任何代码,安装现在可以正常进行。有时我必须 "Resync applications" 才能看到 phone 上的变化。整个过程看起来很笨拙。
是的,我已按照所有其他说明和链接进行操作。我的可穿戴应用肯定会与移动应用打包,但不会安装。
mobile.apk 的调试版本为 4.9MB,wear.apk 的调试版本为 1.9MB。当我构建签名发布版本时,mobile.apk 是 5.8MB,所以我相信打包正在发生。
当我在手持设备上执行 mobile.apk 的 adb install
时,在手持设备的 logcat 中出现以下错误(应用程序包是 com.pipperpublishing.refwatch所以请注意第二个错误中奇怪的 refwatch-1
引用):
01-27 07:49:59.129 8729-8729/? W/System.err: android.content.pm.PackageManager$NameNotFoundException: com.pipperpublishing.refwatch
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:303)
01-27 07:49:59.129 8729-8729/? W/System.err: at com.samsung.aasaservice.AASAUpdateReceiver.onReceive(AASAUpdateReceiver.java:33)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread.handleReceiver(ActivityThread.java:2948)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread.access00(ActivityThread.java:172)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1498)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.os.Looper.loop(Looper.java:145)
01-27 07:49:59.129 8729-8729/? W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5835)
01-27 07:49:59.129 8729-8729/? W/System.err: at java.lang.reflect.Method.invoke(Native Method)
01-27 07:49:59.129 8729-8729/? W/System.err: at java.lang.reflect.Method.invoke(Method.java:372)
01-27 07:49:59.129 8729-8729/? W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
01-27 07:49:59.129 8729-8729/? W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
01-27 07:50:54.219 771-11243/? W/System.err: java.io.FileNotFoundException: /data/app/com.pipperpublishing.refwatch-1: open failed: EISDIR (Is a directory)
01-27 07:50:54.239 771-11243/? W/System.err: at libcore.io.IoBridge.open(IoBridge.java:456)
01-27 07:50:54.239 771-11243/? W/System.err: at java.io.FileInputStream.<init>(FileInputStream.java:76)
01-27 07:50:54.239 771-11243/? W/System.err: at android.content.pm.PackageParser.getHashValueOfPackage(PackageParser.java:5141)
01-27 07:50:54.239 771-11243/? W/System.err: at com.android.server.pm.PackageManagerService.saveHash(PackageManagerService.java:18383)
01-27 07:50:54.239 771-11243/? W/System.err: at com.android.server.pm.PackageManagerService.access00(PackageManagerService.java:329)
01-27 07:50:54.239 771-11243/? W/System.err: at com.android.server.pm.PackageManagerService.run(PackageManagerService.java:18368)
01-27 07:50:54.239 771-11243/? W/System.err: Caused by: android.system.ErrnoException: open failed: EISDIR (Is a directory)
01-27 07:50:54.239 771-11243/? W/System.err: at libcore.io.IoBridge.open(IoBridge.java:446)
01-27 07:50:54.239 771-11243/? W/System.err: ... 5 more
我已经尝试过将手表恢复出厂设置、重新同步等等。有什么想法吗?
这是我的手机build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.pipperpublishing.refwatch"
minSdkVersion 14
targetSdkVersion 23
versionCode 203
versionName "0.2.03"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.android.support:design:23.1.1'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-identity:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
}
apply plugin: 'com.google.gms.google-services'
和我的 "wear" build.gradle
:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
applicationId "com.pipperpublishing.refwatch"
minSdkVersion 21
targetSdkVersion 23
versionCode 203
versionName "0.2.03"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android.support:wearable:1.3.0'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:support-v13:23.1.1'
compile 'com.google.android.gms:play-services-wearable:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
}
apply plugin: 'com.google.gms.google-services'
只有使用发布的.apk 文件才会自动安装穿戴应用程序。它不会使用调试密钥工作。
如果应用程序是使用释放密钥签名的,则检查该应用程序是否已存在于android磨损设备中。
因此,经过多次卸载和重新安装,但未更改任何代码,安装现在可以正常进行。有时我必须 "Resync applications" 才能看到 phone 上的变化。整个过程看起来很笨拙。