4

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

我注意到的事情:

  • Android Studio中移动版包中没有内容
  • 权限仅在移动清单中提及(也尝试使用两个清单上的权限)
  • 这是一个正常的可穿戴表盘,没有配置活动
  • 尽管我在移动部分几乎没有放置任何东西,但移动发布 apk 比磨损 apk 大得多。(--> 好,也许wear-apk 已经在 mobile-apk 中)?
  • 我尝试从 SD 卡和手机内存安装 apk
  • 我已经打开了来自未知来源的安装 apk。

感谢您的帮助和时间-Botti560

4

2 回答 2

2

假设您使用 android studio:

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

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

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

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

查看此文档以获取更详细的说明。

于 2015-03-13T17:30:33.633 回答
1

单击“生成签名的 APK”后,确保从下拉列表中选择模块“移动”。生成的同时包含穿戴和移动模块的 APK 将命名为“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 Studio。

如果这个新项目确实有效,那么请注意这个工作项目的清单和 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(模块:移动)

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'
}
于 2015-03-13T19:06:08.970 回答