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

以下依然只针对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. Swift语言入门之旅

    Swift语言入门之旅  学习一门新的计算机语言,传统来说都是从编写一个在屏幕上打印"Hello world"的程序開始的.那在 Swift,我们使用一句话来实现它: printl ...

  2. xslt语法之---position()函数

    最近在学习使用XSLT,很好很强大的样式表语言.使用到了position()函数特此记录一下. position()函数--返回节点位置 语法:position() 参数:无 返回值:整数 用途:该函 ...

  3. AIX系统上压缩与解压文件

    压缩. 命令格式: #tar -cvf (或xvf)+文件名+设备 C:是本地到其他设备 x:是其他设备到本地 r:是追加,比如打包时,将其他文件追加进来使用该参数. t:显示tar包里的内容,但还原 ...

  4. oracle查看死锁和处理方法

    在操作数据库中经常会遇到表死锁问题,特别是不良的数据库设计和操作的时候,更容易遇到死锁问题.今天在系统中往oracle中添加数据时,特意快速多点几次添加的时候,就出现了死锁问题,而且刚好在读取和更新表 ...

  5. Linux编译安装MySQL5.6

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/4311061.html ...

  6. URLConnection类详解

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3753224.html ...

  7. Oracle分区表学习

    (1) 表空间及分区表的概念表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间.分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应 ...

  8. php文件粘贴上传

    <?php header("Access-Control-Allow-Origin:*"); $url = 'http://'.$_SERVER['HTTP_HOST']; ...

  9. java_设计模式_策略模式_Strategy pattern(2016-07-15)

    感受:将算法从方法级别,提升到类级别.之后利用java多态,来切换不同的算法实现不同的功能. 在阎宏博士的<JAVA与模式>一书中开头是这样描述策略(Strategy)模式的: 策略模式属 ...

  10. linux负载均衡

    1.linux lvs nat实现负载均衡 添加两块网卡并开启路由管道 > /proc/sys/net/ipv4/ip_forward //开始路由管道 安装ipvsadm yum instal ...