4

我正在开发android穿戴装置的表面服务的最后阶段。问题如下: 每当我尝试签署我的应用程序时,都会生成两个文件:wear-release.apk和mobile-release.apk,没有其他apk。不应该apk名称是我的项目目录的包名? -因为我试图用兼容的智能手机(附有磨损装置)打开这两个文件,它总是立即出现短语错误。包装可穿戴应用程序

Thinngs我已经注意到:

  • 有移动版的包Android Studio中没有内容
  • 的权限在移动清单只提及(也与权限是两个舱单试过)
  • 这是一个普通的可配置表面没有配置活动
  • 我的手机发布apk的方式比磨损apk大,虽然我几乎没有放置在移动部分。 ( - >好,也许穿 - APK已经在移动apk中)?
  • 我试图从SD卡和手机内存安装apks
  • 我安装了来自未知来源的apks打开。

感谢您的帮助&时间-Botti560

回答

1

点击“生成签名的APK”确保从下拉列表中选择“移动”模块。包含磨损和移动模块的生成的APK将被命名为“mobile-release.apk”。此外settings.gradle应该有include ':mobile', ':wear'存在,并且的build.gradle(模块:手机)应该补充

dependencies { 
    wearApp project(':wear') 
} 

编辑更多的内容/澄清如下

确定与此编辑希望我可以帮你解决你的问题!

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

一旦你有了这个设置,如果为你的应用程序生成一个有形的APK仍然不起作用。我会尝试制作一个新的android项目。将手机的最低SDK设置为API 18(4。3果冻豆,与Android Wear兼容的最低API级别)。并将Minimum Wear SDK设置为API 20(Android 4.4 KitKat Wear)。

然后尝试生成这个新项目的签名APK而不进行任何更改。这应该工作!如果你仍然有问题,那么有些事情会被严重破坏,我会从头开始重新安装Android工作室。

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

最后三个文件:的build.gradle(项目:anAppImade)的build.gradle(Moduble:移动),和的build.gradle(模块:磨损)应该是这个样子(分别)这

构建。 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:移动)

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

感谢您的快速帮助,但我做到了完全按照你们前面提到的。这个问题是,这两个文件都生成了,当我只选择移动安装。但这可能不重要或不正常。 但我总是得到措辞错误:/ – Botti560 2015-03-14 08:45:51

+0

这些是我的移动相关性:依赖关系编译文件树(dir:'libs',包括:['* .jar']) wearApp项目(':wear')编译'com.android.support:appcompat-v7:21.0.3' compile'c​​om.google.android.gms:play-services:6.5.87' compile“com.google.android.support:wearable:1.1 。+“ compile'c​​om.android.support:support-v13:21.0.+' } – Botti560 2015-03-14 08:49:31

+0

我编辑了我原来的帖子,希望它能帮助你! – Benjamin 2015-03-15 04:05:27

2

假设你使用Android工作室:

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

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

去盖>生成签名的apk。在第一个窗口中,选择手机作为您的模块。

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

查看this documentation了解更多详细说明。

+0

的.apk不包埋,我按照您的指示 – JPM 2017-02-22 21:10:39

相关问题