打包可穿戴应用

Packaging wearable apps

我正处于为 android 穿戴设备开发表盘服务的最后阶段。问题如下: 每次我尝试签署我的应用程序时,都会生成两个文件: wear-release.apk 和 mobile-release.apk ,没有其他 apk。 apk 名称不应该是我的项目目录的包名吗? - 因为我尝试用兼容的 Smartphone(附有 weardevice)打开这两个文件,但总是立即以措辞错误结束。

我注意到的事情:

感谢您的帮助和时间 -Botti560

假设您使用 android 工作室:

您的移动 build.gradle 文件应具有以下依赖项:

dependencies {
   ...
   wearApp project(':wear')
}

转到“构建”>“生成签名的 apk”。在第window、select移动作为你的模块。

现在构建完成后,wear模块会自动嵌入到mobile模块中。移动 apk 是您分发的。磨损可用于测试。

查看 this documentation 以获得更详细的说明。

单击 "Generate Signed APK" 后,确保从下拉列表中选择了模块 "mobile"。生成的包含 wear 和 mobile 模块的 APK 将被命名为 "mobile-release.apk"。另外 settings.gradle 应该有 include ':mobile', ':wear' 并且 build.gradle (模块:移动)应该有

dependencies {
    wearApp project(':wear')
}

编辑下面添加的更多内容/说明

完成此编辑希望我能帮助您解决问题![​​=15=]

首先,请确保您 运行 是 Android Studio 的最新稳定版本。截至今天,最新版本是 Android Studio 1.1.0 我之前在早期版本上生成签名 APK 时遇到了一些问题。其次确保您拥有最新的 SDK 文件,包括最新的 API (API 22).

完成此设置后,如果为您的应用生成签名 APK 仍然不起作用。我会尝试制作一个新的 android 项目。将 phone 的最低 SDK 设置为 API 18(4.3 Jelly Bean,与 Android Wear 兼容的最低 API 级别)。并将 Minimum Wear SDK 设置为 API 20 (Android 4.4 KitKat Wear)。

然后尝试生成这个新项目的签名 APK,而不对其进行任何更改。这应该工作!如果您仍然遇到问题,那么说明问题严重,我会从头开始重新安装 Android studio。

如果这个新项目确实有效,那么请注意此工作项目与其他非工作项目的清单和 gradle 文件之间的任何差异。您发现的任何差异很可能是您的问题。

最后三个文件:build.gradle(项目:anAppImade)、build.gradle(模块:移动)和build.gradle(模块:穿戴)应该如下所示(分别)

build.gradle(项目:anAppImade)

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

build.gradle(模组:手机)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "com.ppltalkin.anappimade"
        minSdkVersion 18
        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.0.0'
    compile 'com.google.android.gms:play-services:6.5.87'
}

build.gradle(模数:穿)

apply plugin: 'com.android.application'


android {
    compileSdkVersion 22
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "com.ppltalkin.anappimade"
        minSdkVersion 20
        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.1.0'
    compile 'com.google.android.gms:play-services-wearable:6.5.87'
}