之所以将打包这一特殊的内容作为数据通讯的第零节,是因为如果没有通过配置打包的一些信息,则没有办法将手机端应用和手表端应用连接起来,则无法继续进行接下来的数据通讯的开发。

以下依然只针对Eclipse平台,Android Studio平台可以查阅官网教程。本文是对官网文档的手动打包进行补充。

Wear工程

  1. 正确地配置Manifest文件:

package="com.example.weardemo"
android:versionCode=""
android:versionName="1.0"

注意:Wear工程的包名必须和手机工程的包名保持一致。
版本名和版本号不需要和手机工程中Manifest保持一致,可独立控制。

导入必要的库:
Google Support Library : 提供android.support.v4.app.NotificationCompat.WearableExtender:用于实现手表卡片通知的适配

Google Play Services:提供com.google.android.gms.wearable:用于实现手机和Wear的数据传输功能(至少是5.0以上的版本)

Google Repository : 提供android.support.wearable:实现Wear的自定义界面

签名打包Wear的APK
Wear工程的签名必须和手机工程的签名保持一致。即Debug Key(直接运行工程)和Release Key不能混淆着用,否则会导致数据通讯失败。
若用ant打包,proguard混淆时,注意不要混淆了通讯模块

-keep class com.google.android.gms.wearable.** { *;}
-keep class com.google.android.gms.common.** { *;}

Phone工程

将Wear打包好的APK放到Phone工程下的/res/raw目录下,这里笔者将APK重命名为wearable_app.apk。(命名注意符合规范[a-z0-9_.],不能有大写)
在/res/xml目录下创建wear的参数配置文件,命名为wearable_app_desc.xml

<?xml version="1.0" encoding="utf-8"?>
<wearableApp xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.weardemo"
>
<versionCode></versionCode>
<versionName>1.0</versionName>
<rawPathResId>wearable_app</rawPathResId>
</wearableApp>

注意:这里的包名,版本名,版本号要和wear工程的Manifest配置一致,rawPathResId对应的是第一步中的APK名

配置Manifest文件:
Wear应用的参数信息:

<meta-data
android:name="com.google.android.wearable.beta.app"
android:resource="@xml/wearable_app_desc" />

谷歌服务参数:

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

添加所需的权限

签名打包APK:注意点与Wear工程一致

开发心得
在调试Wear工程时,并不需要每次将APK打包放到Phone工程下,只需要直接运行安装到手表上,就可以直接覆盖apk

Android Wear开发 - 数据通讯 - 第零节 : 打包Wear应用(手机和手表应用如何连接)的更多相关文章

  1. Android Wear开发 - 数据通讯 - 第四节 : 数据封装(解决不能序列化问题)

    一. 前言 背景 一开始笔者在研究数据发送与接收的时候,看到Wear数据类DataMap除了可以put基本类型外,还有个fromBundle方法来构建一个DataMap对象.所以一口气的将原本功能上的 ...

  2. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收

    本节由介绍3种数据的发送接收:1.Data Items : 比特类型数据,限制100KB以内2.Assets : 资源类型数据,大小无上限3.Message : 发送消息,触发指令 http://de ...

  3. Android Wear开发 - 数据通讯 - 第三节 : 事件处理

    http://developer.android.com/training/wearables/data-layer/events.html 以下是本人在学习官方开发文档时的笔记,主要是翻译为主,并在 ...

  4. Android Wear开发 - 数据通讯 - 第一节 : 连接数据层

    http://developer.android.com/training/wearables/data-layer/accessing.html Accessing the Wearable Dat ...

  5. C#-Xamarin的Android项目开发(三)——发布、部署、打包

    前言 部署,通常的情况下,它其实也是项目开发的一个难点. 为什么这么说呢?因为,它不是代码开发,所以很多开发者本能的拒绝学习它. 并且一个项目配置好一次以后,部署的步骤和部署的人通常很固定,所以大部分 ...

  6. Android应用开发-数据存储和界面展现(二)(重制版)

    SQLite数据库 // 自定义类MyOpenHelper继承自SQLiteOpenHelper MyOpenHelper oh = new MyOpenHelper(getContext(), &q ...

  7. Android应用开发-数据存储和界面展现(一)(重制版)

    常见布局 相对布局(RelativeLayout) 相对布局下控件默认位置都是左上角(左对齐.顶部对齐父元素),控件之间可以重叠 可以相对于父元素上下左右对齐,相对于父元素水平居中.竖直居中.水平竖直 ...

  8. Android应用开发-数据存储和界面展现(二)

    SQLite数据库 // 自定义类MyOpenHelper继承自SQLiteOpenHelper MyOpenHelper oh = new MyOpenHelper(getContext(), &q ...

  9. Android应用开发-数据存储和界面展现(一)

    常见布局 相对布局(RelativeLayout) 相对布局下控件默认位置都是左上角(左对齐.顶部对齐父元素),控件之间可以重叠 可以相对于父元素上下左右对齐,相对于父元素水平居中.竖直居中.水平竖直 ...

随机推荐

  1. linux device driver —— ioctl

    实现了应用程序和设备驱动通过ioctl通信.还是对设备驱动没什么感觉,贴一下代码吧. 在Ubuntu 16.04 64bit中测试通过 ioctldemo.c #include <linux/m ...

  2. Java 国际化 语言切换

      Java国际化 我们使用java.lang.Locale来构造Java国际化的情境. java.lang.Locale代表特定的地理.政治和文化.需要Locale来执行其任务的操作叫语言环境敏感的 ...

  3. WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.

    WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次  悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失 ...

  4. oracle在linux配置信息

    这两天在linux中给已有的oracle添加新实例,其中涉及数据库服务.监听配置,oracle服务是否正常.监听是否成功等操作,特此记录存档,以备后用. oracle服务启动操作命令 1.查看orac ...

  5. asp.net对word文档进行修改 对于使用word文档做模板编辑比较适用

    最近做项目,需要多word文档进行编辑并导出一个新的word,在最初的word编辑中留下特定的字符串用来替换,然后在本地生成一个新的word文档,并且不修改服务器中的word文档,这样才能保证服务器中 ...

  6. Android 通信机制Message、Handler 的用法

    Android中提供了通信机制,Message.Handler 等,Message用于在子线程中传递数据,Handler用于发送数据到主线程中, 下面介绍基于Message.Handler的计时器 i ...

  7. ASP.NET mvc 遇见的问题

    1.数据库配置 The specified named connection is either not found in the configuration, not intended to be ...

  8. MySQL性能测试工具之mysqlslap使用详解

    mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.msq ...

  9. 系统重装c盘后,mysql重新设置

    之前我的mysql装在d盘,重装了系统后,虽然只格式化了c盘,但mysql还是不能用了.我网上找了找.修改了一下配置. 1.首先设置环境变量,编辑path,在后面添加上mysql的安装路径 : 2.之 ...

  10. 【转】 UITableViewCell的标记、移动、删除、插入

    原文: http://blog.csdn.net/duxinfeng2010/article/details/7725897 这篇文章是建立在 代码实现 UITableView与UITableView ...