之所以將打包這一特殊的內容作為數據通訊的第零節,是因為如果沒有通過配置打包的一些信息,則沒有辦法將手機端應用和手表端應用連接起來,則無法繼續進行接下來的數據通訊的開發。
以下依然只針對Eclipse平台,Android Studio平台可以查閱官網教程。本文是對官網文檔的手動打包進行補充。
Wear工程
- 正確地配置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應用的參數信息:
- 谷歌服務參數:
```xml
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
- 添加所需的權限
- 簽名打包APK:注意點與Wear工程一致
開發心得
在調試Wear工程時,並不需要每次將APK打包放到Phone工程下,只需要直接運行安裝到手表上,就可以直接覆蓋apk