W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
編寫: kesenhoo - 原文: http://developer.android.com/training/wearables/apps/packaging.html
當(dāng)發(fā)布應(yīng)用給用戶之前,我們必須把可穿戴應(yīng)用打包到手持應(yīng)用內(nèi)。因?yàn)橛脩舨荒苤苯釉诳纱┐髟O(shè)備上瀏覽并安裝應(yīng)用。如果打包正確,當(dāng)用戶下載手持應(yīng)用時(shí),系統(tǒng)會(huì)自動(dòng)下發(fā)可穿戴應(yīng)用到配對(duì)好的可穿戴設(shè)備上。
Note: 如果開發(fā)時(shí)簽名用的是debug key,這個(gè)功能是無(wú)法正常工作的。在開發(fā)時(shí),需要使用
adb install
命令或者Android Studio來(lái)安裝可穿戴應(yīng)用。
在Android Studio中打包可穿戴應(yīng)用有下面幾個(gè)步驟:
buidl.gradle
文件中聲明一個(gè)Gradle依賴用于指向可穿戴應(yīng)用:dependencies {
compile 'com.google.android.gms:play-services:5.0.+@aar'
compile 'com.android.support:support-v4:20.0.+''
wearApp project(':wearable')
}
./gradlew assembleRelease \
-Pandroid.injected.signing.store.file=$KEYFILE \
-Pandroid.injected.signing.store.password=$STORE_PASSWORD \
-Pandroid.injected.signing.key.alias=$KEY_ALIAS \
-Pandroid.injected.signing.key.password=$KEY_PASSWORD
如果我們的構(gòu)建過(guò)程需要將可穿戴應(yīng)用的簽名與手持應(yīng)用的分開,那么我們可以像下面一樣在手持應(yīng)用的build.gradle
文件中聲明Gradle規(guī)則。從而嵌入預(yù)先簽名的可穿戴應(yīng)用:
dependencies {
...
wearApp files('/path/to/wearable_app.apk')
}
我們可以以任何我們想要的方式為手持應(yīng)用進(jìn)行簽名(可以是Android Studio Build > Generate Signed APK...的方式,也可以是Gradle signingConfig
規(guī)則的方式)。
如果我們使用的是其它IDE或者其它方法來(lái)構(gòu)建應(yīng)用,我們?nèi)匀豢梢允謩?dòng)地把可穿戴應(yīng)用打包到手持應(yīng)用中。
res/raw
目錄下。我們假設(shè)這個(gè)APK名為wearable_app.apk
。res/xml/wearable_app_desc.xml
文件,里面包含可穿戴設(shè)備的版本信息與路徑。例如:<wearableApp package="wearable.app.package.name">
<versionCode>1</versionCode>
<versionName>1.0</versionName>
<rawPathResId>wearable_app</rawPathResId>
</wearableApp>
package
, versionCode
與versionName
需要和可穿戴應(yīng)用的AndroidManifest.xml里面的信息一致。rawPathResId
是一個(gè)靜態(tài)變量表示APK的名稱。例如,對(duì)于wearable_app.apk
,這個(gè)靜態(tài)變量名為wearable_app
。meta-data
標(biāo)簽到我們的手持應(yīng)用的<application>
標(biāo)簽下,指明引用wearable_app_desc.xml
文件<meta-data android:name="com.google.android.wearable.beta.app"
android:resource="@xml/wearable_app_desc"/>
許多構(gòu)建工具會(huì)自動(dòng)壓縮放在res/raw
目錄下的文件。因?yàn)榭纱┐鰽PK已經(jīng)被壓縮過(guò)了,所以這些工具再次壓縮可穿戴APK會(huì)導(dǎo)致可穿戴應(yīng)用安裝程序無(wú)法讀取可穿戴應(yīng)用。
這樣的話,安裝失敗。在手持應(yīng)用上,PackageUpdateService
會(huì)輸出如下的錯(cuò)誤日志:"this file cannot be opened as a file descriptor; it is probably compressed."
Android Studio 默認(rèn)不會(huì)壓縮APK,但是如果我們使用其它構(gòu)建方式,需要確保不要重復(fù)壓縮可穿戴應(yīng)用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: