Android Wear:不将我的应用同步到Watch。为什么?

时间:2014-08-18 02:41:37

标签: android wear-os

我发布了一个Android服装应用程序。我在Google Play上安装了该应用,并尝试通过Google Android Wear应用与我的Androwid Wear进行同步,但它无效。

我猜我安装的apk不包含“WEAR.apk”。我怎么能包括它?

当我在Android Studio上生成apk时,生成了两个apks。我上传了一个apk“APPLICATION.apk”。我预计“APPLICATION.apk”包含“WEAR.apk”。

build.gradle具有WEAR的依赖性。

wearApp project(':wear')

有没有人知道任何可能的原因和解决方案。

任何帮助将不胜感激。

谢谢,

[UPDATE1]

·申请模块

的AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.hogehoge.bip" >

    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />.

    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

        <meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />

        <activity
                android:name="com.hogehoge.bip.MainActivity"
                android:label="@string/app_name"
                android:screenOrientation="landscape"
                android:launchMode="singleTask" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

的build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 18
    buildToolsVersion '20'

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 2
        versionName "0.1"
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.google.android.gms:play-services:5.0.+@aar'
    compile 'com.android.support:support-v4:20.0.+'
    wearApp project(':Wearable')
    compile files('libs/core-2.2.jar')
    compile files('libs/javase-2.2.jar')
    compile files('libs/android-async-http-1.4.5.jar')
}

·可穿戴模块

的AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hogehoge.bip" >

    <uses-feature android:name="android.hardware.type.watch" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.VIBRATE" />

    <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.DeviceDefault">

        <meta-data
                android:name="com.google.android.gms.version"
                android:value="@integer/google_play_services_version" />

        <service
                android:name="com.hogehoge.bip.DataLayerListenerService" >
            <intent-filter>
                <action android:name="com.google.android.gms.wearable.BIND_LISTENER" />
            </intent-filter>
        </service>

        <activity
            android:name="com.hogehoge.bip.PagerActivity"
            android:screenOrientation="portrait"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

的build.gradle

apply plugin: 'android'

android {
    compileSdkVersion 20
    buildToolsVersion '20'

    defaultConfig {
        minSdkVersion 20
        targetSdkVersion 20
        versionCode 2
        versionName "0.1"
    }

    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.google.android.gms:play-services-wearable:+'
    compile files('libs/internal_impl-20.0.0.jar')
    compile files('libs/classes.jar')
}

[UPDATE2]

我的应用是免费的。没有付费应用。

我生成了以下内容; Application-release.apk(3M)和Wearable-release.apk(1.1M)。

[UPDATE3]

我注意到已经发布了类似的问题。

Android Wear generate two apk

根据帖子,我可能不得不使用“释放密钥”。我正在检查它。

[UPDATE4]

我解压缩了我发布Google Play的apk。结果,我在processedapp.apk中找到了wearable.apk。

我不知道接下来该怎么做。你能帮帮我吗?

[更新已解决]

我跟着@Gabriele Mariotti提到了。那就行了!

  

检查您的权限。智能手机部分需要拥有全部   Wear组件具有的权限。

     

对两个应用程序(穿戴和移动)使用相同的包ID

Android Wear App not installed

1 个答案:

答案 0 :(得分:2)

如果这是付费应用,则无法使用

wearApp project(':wear')

你必须do it manually

如果它不是付费应用(如果它是免费的),那么&#34; APPLICATION.apk&#34;的文件大小是否合适?符合您的期望? (即wear.apk + mobile.apk)

同时发布您的清单和build.gradle文件。