Android Wear开发 - 数据通讯 - 第零节 : 打包Wear应用(手机和手表应用如何连接)
之所以将打包这一特殊的内容作为数据通讯的第零节,是因为如果没有通过配置打包的一些信息,则没有办法将手机端应用和手表端应用连接起来,则无法继续进行接下来的数据通讯的开发。
以下依然只针对Eclipse平台,Android Studio平台可以查阅官网教程。本文是对官网文档的手动打包进行补充。
Wear工程
正确地配置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应用(手机和手表应用如何连接)的更多相关文章
- Android Wear开发 - 数据通讯 - 第四节 : 数据封装(解决不能序列化问题)
一. 前言 背景 一开始笔者在研究数据发送与接收的时候,看到Wear数据类DataMap除了可以put基本类型外,还有个fromBundle方法来构建一个DataMap对象.所以一口气的将原本功能上的 ...
- Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
本节由介绍3种数据的发送接收:1.Data Items : 比特类型数据,限制100KB以内2.Assets : 资源类型数据,大小无上限3.Message : 发送消息,触发指令 http://de ...
- Android Wear开发 - 数据通讯 - 第三节 : 事件处理
http://developer.android.com/training/wearables/data-layer/events.html 以下是本人在学习官方开发文档时的笔记,主要是翻译为主,并在 ...
- Android Wear开发 - 数据通讯 - 第一节 : 连接数据层
http://developer.android.com/training/wearables/data-layer/accessing.html Accessing the Wearable Dat ...
- C#-Xamarin的Android项目开发(三)——发布、部署、打包
前言 部署,通常的情况下,它其实也是项目开发的一个难点. 为什么这么说呢?因为,它不是代码开发,所以很多开发者本能的拒绝学习它. 并且一个项目配置好一次以后,部署的步骤和部署的人通常很固定,所以大部分 ...
- Android应用开发-数据存储和界面展现(二)(重制版)
SQLite数据库 // 自定义类MyOpenHelper继承自SQLiteOpenHelper MyOpenHelper oh = new MyOpenHelper(getContext(), &q ...
- Android应用开发-数据存储和界面展现(一)(重制版)
常见布局 相对布局(RelativeLayout) 相对布局下控件默认位置都是左上角(左对齐.顶部对齐父元素),控件之间可以重叠 可以相对于父元素上下左右对齐,相对于父元素水平居中.竖直居中.水平竖直 ...
- Android应用开发-数据存储和界面展现(二)
SQLite数据库 // 自定义类MyOpenHelper继承自SQLiteOpenHelper MyOpenHelper oh = new MyOpenHelper(getContext(), &q ...
- Android应用开发-数据存储和界面展现(一)
常见布局 相对布局(RelativeLayout) 相对布局下控件默认位置都是左上角(左对齐.顶部对齐父元素),控件之间可以重叠 可以相对于父元素上下左右对齐,相对于父元素水平居中.竖直居中.水平竖直 ...
随机推荐
- Android 仿PhotoShop调色板应用(二) 透明度绘制之AlphaPatternDrawable
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 仿PhotoShop调色板应用(二) 透明度绘制之AlphaPatternDrawable 这里讲一下如何实现PS调色板中的透明度 ...
- WCF - 绑定
从整个基础架构来看 WCF可分为服务模型层和信道层 模型层提供了一个统一的可扩展的编程模型 而信道层提供了对请求信息的接收和处理 而作为WCF通信的三要素之一的绑定 是它实现了组成整个信道层的信道栈 ...
- hdu2660 Accepted Necklace (DFS)
Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mo ...
- SQL Server2005 表分区三步曲(zz)
前言 SQL Server 2005开始支持表分区,这种技术允许所有的表分区都保存在同一台服务器上.每一个表分区都和在某个文件 组(filegroup)中的单个文件关联.同样的一个文件/文件组可以容纳 ...
- 客户端session与服务端session
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- win7、xp下Meclipse SVN用户名修改
Meclipse SVN用户名修改,在网上查找后发现如下方法: 1.查看你的Eclipse中使用的是什么SVNInterface windows>preference>Team>SV ...
- jdbc - Insert 'Date' value in PreparedStatement
“preparedStatement.setDate()”方法接受的是 'java.sql.Date' 类型的参数,而我们一般格式化日期所使用的是'java.util.Date'中的'SimpleDa ...
- nodejs开发环境sublime配置
前端时间使用webstorm搭建一个node.js的学习环境,感觉非常强大.不过由于其加载的速度,每次让都让我抓狂.后来我找到了一个sublime.虽说3.0以上是收费的,2.0暂时免费.官方的不对s ...
- 收集 数据库的awr数据,生成报告
该脚本只是把awr报告的内容,原封不动的 展现出来,做记录 awrreport.sql 脚本内容如下: *********************************************** ...
- 用JS实现版面拖拽效果
类似于这样的一个版面,点击标题栏,实现拖拽效果. 添加onmousedown事件 通过获取鼠标的坐标(clientX,clientY)来改变面板的位置 注意:面板使用绝对定位方式,是以左上角为参考点, ...