注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

等待机遇

这个世界上没有人知道自己到底想要什么,就等着别人来告诉他们。

 
 
 

日志

 
 
关于我

>>>>>>>>>>Apple Watch开发交流群: 313347946 >>>>>>>>>>Android Wear开发交流群:318275279 >>>>>>>>>>>>>智能手表开发者服务平台: http://www.openwatch.cn

网易考拉推荐

智能手表开发之OpenWatch SDK使用(5)打包应用  

2015-11-04 22:44:06|  分类: Android Wear |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
智能手表开发者服务平台:http://www.openwatch.cn

当发布应用的时候,需要将手表端应用嵌入进手机端应用,因为用户不能直接在手表设备上查看或安装应用。

手机端与手表端应用包名、签名要保持一致,手机端应用声明的权限需要包含手表端应用的所有声明权限。

如果打包正确,当用户安装手机端应用后,系统会自动推送手表端应用到配对的手表设备上。如果应用正在开发或者是用debug签名,这个功能就没效果。

手机端应用模块中的权限声明,需要包含手表端应用模块中的所有权限,否则这个功能也会没有效果。

在开发的时候,需要用adb install命令或者直接用相应的IDE(比如Android studio)来安装。

创建一个res/xml/wearable_app_desc.xml文件,里面包含Android Wear应用的版本和路径信息。例如:


    <wearableApp package="wearable.app.package.name">
      <versionCode>1</versionCode>
      <versionName>1.0</versionName>
      <rawPathResId>android_wear_micro_apk</rawPathResId> 
    </wearableApp>

package, versionCode, 和versionName的值要和手表端应用的AndroidManifest.xml文件中的一样,rawPathResId的值不要改变。

**用Android Studio打包**

1、在手机端应用的build.gradle中声明一个Gradle dependency来指向手表端应用模块:

    dependencies {
       compile 'com.android.support:support-v4:20.0.+'
       compile files('libs/openwatch-1.0.5.jar')
       wearApp project(':wearable')
    }


2、点击Build > Generate Signed APK...并选择你的签名文件。在你的项目根目录,Android Studio会自动导出一个签名的手机端apk,里面内嵌的手表端App。

3、在手机端应用的AndroidManifest.xml文件中,在manifest根标签下添加

    xmlns:tools="http://schemas.android.com/tools"

在application标签下添加meta-data 用于引用wearable_app_desc.xml描述文件(针对android wear谷歌版和中国版不需要手动添加手表端App的描述文件,打包的时候,studio会自动添加):


兼容DuWear

    <!-- 引用同一个wearable_app_desc文件 需要添加tools:replace="android:resource" 否则打包会报错-->
    <meta-data
            android:name="org.owa.wear.app"
            android:resource="@xml/wearable_app_desc"
            tools:replace="android:resource" />

兼容TicWear

     <meta-data
            android:name="com.mobvoi.ticwear.app"
            android:resource="@xml/wearable_app_desc" />


**用Eclipse或其他IDE打包**


如果你使用的是其他编译方式或者IDE,还可以手动打包。

1、拷贝已签名的手表端应用apk到手机端工程的res/raw目录下,apk重命名为android_wear_micro_apk.apk,文件名不要改变。


3、在手机端应用的AndroidManifest.xml文件中,在application标签下添加一个meta-data 用于引用wearable_app_desc.xml描述文件:

兼容Android Wear谷歌版及中国版

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

兼容DuWear

    <meta-data
            android:name="org.owa.wear.app"
            android:resource="@xml/wearable_app_desc" />

兼容TicWear

     <meta-data
            android:name="com.mobvoi.ticwear.app"
            android:resource="@xml/wearable_app_desc" />



4、编译并签名手机端app。


很多编译工具会自动压缩res/raw目录下的文件,但手表端apk是已经被压缩过的。

编译工具如果再次压缩这个apk,那么手表端系统安装器就不能读取这个apk了,就会导致安装失败。

在手机端App上就会有PackageUpdateService日志信息,比如: "this file cannot be opened as a file descriptor; it is probably compressed."

Android Studio默认不会压缩apk,但如果你使用其他编译工具,要确保apk不会被二次压缩。
  评论这张
 
阅读(245)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017