zoukankan      html  css  js  c++  java
  • Android Wear开发

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

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

    Wear工程

    1. 正确地配置Manifest文件:

    package="com.example.weardemo"
    android:versionCode="1"
    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>1</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

     

  • 相关阅读:
    开发中遇到的问题点
    ThreadLocal
    Java多线程10:join()方法
    Java多线程9:中断机制
    Java多线程8:wait()和notify()/notifyAll()
    Java多线程7:死锁
    Java多线程0:核心理论
    MySQL中and和or的优先级的问题
    Java多线程6:Synchronized锁代码块(this和任意对象)
    shiro英语
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5669299.html
Copyright © 2011-2022 走看看