打包可穿戴应用程序

时间:2015-03-13 13:59:27

标签: android android-studio packaging wear-os watch-face-api

我正处于为Android磨损设备开发表盘服务的最后阶段。问题如下: 每次我尝试签署我的应用程序时,都会生成两个文件:wear-release.apk和mobile-release.apk,没有其他apk。不应该将apk名称作为projectdirectory的Packagename吗? - 因为我尝试用我的兼容智能手机打开这两个文件(附带一个磨损装置),它总是在短语错误中立即结束。

我注意到了:

  • Android Studio
  • 中的移动版本包中没有内容
  • 权限仅在移动清单中提及(也尝试使用两个清单上的权限)
  • 这是一个没有配置活动的普通可穿戴表盘
  • Ihe mobile-release apk比看上去更加困难 - 虽然我几乎没有任何东西放在移动部分。 ( - >好,也许穿 - apk已经在移动版 - apk)?
  • 我尝试从SD卡和手机内存安装apks
  • 我已经安装了来自未知来源的apks。

感谢您的帮助&时间-Botti560

2 个答案:

答案 0 :(得分:2)

假设你使用android studio:

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

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

转到Build>生成签名的apk。在第一个窗口中,选择mobile作为您的模块。

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

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

答案 1 :(得分:1)

点击"生成签名APK"确保模块"移动"从下拉列表中选择。生成的包含磨损和移动模块的APK将被命名为#34; mobile-release.apk"。另外settings.gradle应该有include ':mobile', ':wear',还有build.gradle(Module:mobile)应该有

dependencies {
    wearApp project(':wear')
}

编辑更多内容/澄清下面添加

好了这个编辑希望我能帮你解决问题!

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

一旦你有这个设置,如果为你的应用程序生成一个烧焦的APK仍然无法正常工作。我会尝试制作一个新的android项目。将手机的最低SDK设置为API 18(4.3 Jelly Bean,与Android Wear兼容的最低API级别)。并将Minimum Wear SDK设置为API 20(Android 4.4 KitKat Wear)。

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

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

最后三个文件:build.gradle(Project:anAppImade),build.gradle(Moduble:mobile)和build.gradle(Module:wear)应该看起来像这样(分别)

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(Moduble:mobile)

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'
}