標籤:可穿戴應用開發 android package gradle
打包可穿戴應用(Packaging Wearable Apps)內容包括使用Android Studio進行打包以及手動打包以及關閉資源壓縮(Turn off Asset Compression)。
當應用發布時,你必須把可穿戴應用打包進一個手機應用中, 因為使用者不能直接在穿戴式裝置上瀏覽和安裝應用。
如果打包正確,當使用者下載手機應用時,系統會把可穿戴應用自動推送到配對的穿戴式裝置中。
注意:這個功能對於使用調試密鑰簽名的應用不工作,在開發過程中,必須使用adb install或Android Studio來直接安裝。
使用Android Studio打包
在手機應用的build.gradle檔案中聲明一個Gradle依賴,指向可穿戴應用模組:
dependencies { compile ‘com.google.android.gms:play-services:[email protected]‘ compile ‘com.android.support:support-v4:20.0.+‘‘ wearApp project(‘:wearable‘)}
點擊Build > Generate Signed APK... 然後遵循螢幕上的指示來指定你的發布金鑰儲存區(release keystore)並進行簽名。
Android Studio自動匯出已簽名的嵌入了可穿戴模組的手機應用到你的項目根目錄下。
此外,你可以在可穿戴和手機模組的build.gradle檔案中建立一個signingConfig規則,以便使用你的發布密鑰來進行簽名。
兩個應用模組都必須被簽名,這樣才能正常使用自動推送的發布功能。
android { ... signingConfigs { release { keyAlias ‘myAlias‘ keyPassword ‘myPw‘ storeFile file(‘path/to/release.keystore‘) storePassword ‘myPw‘ } } buildTypes { release { ... signingConfig signingConfigs.release }d } ...}
在Android Studio右側邊欄工具條中點擊Gradle按鈕,來編譯這個手機應用並運行assembleRelease任務,
這個任務位置在:項目名稱> 手機模組名稱> assembleRelease.
注意:這個例子把密碼嵌入了你的Gradle檔案,也許是不合適的。要用系統變數來替換密碼請參閱Configure signing settings。
分別對可穿戴和手機應用進行簽名
如果編譯過程要求對可穿戴應用進行單獨簽名,
你可以在手機模組的build.gradle檔案中聲明如下Gradle規則,以便嵌入已簽名的可穿戴應用:
dependencies { ... wearApp files(‘/path/to/wearable_app.apk‘)}你然後可以用任何一種方法來對手機應用簽名(功能表項目Android Studio Build > Generate Signed APK... 或者如上所述的Gradle signingConfig規則)。
手動打包(Package Manually)如果你使用了其他開發工具,你也可以進行手工打包。
把已簽名的可穿戴應用拷貝到你的手機應用項目的res/raw目錄。我們將通過wearable_app.apk來引用這個APK。
建立一個res/xml/wearable_app_desc.xml檔案,包含該應用的版本和路徑資訊。比如:
<wearableApp package="wearable.app.package.name"> <versionCode>1</versionCode> <versionName>1.0</versionName> <rawPathResId>wearable_app</rawPathResId> </wearableApp>
package, versionCode和versionName跟可穿戴應用AndroidManifest.xml檔案中指定的一樣。rawPathResId是API資源的靜態變數名。
比如,對於wearable_app.apk,靜態變數名為wearable_app。
添加一個meta-data標籤到你的手機應用的<application>標籤中,來引用wearable_app_desc.xml檔案。
<meta-data android:name="com.google.android.wearable.beta.app" android:resource="@xml/wearable_app_desc"/>
編譯手機應用並簽名。
關閉資源壓縮(Asset Compression)許多編譯工具會自動把添加到res/raw下面的檔案自動進行壓縮。不過由於這個可穿戴應用的APK已經被壓縮過,如果再被其他工具重新壓縮的話,安裝器(Installer)將無法讀取可穿戴應用而導致安裝失敗。
在手機應用中,PackageUpdateService日誌記錄了如下錯誤:"this file cannot be opened as a file descriptor; it is probably compressed."
Android Studio預設情況下不會壓縮你的APK檔案,不過如果你使用了其他開發工具,確保不要進行二次壓縮。
by iefreer