如何打包Android Wearable 應(yīng)用程序
員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序設(shè)計,軟件按需定制網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。原文標(biāo)題:Packaging Wearable Apps 原文地址:http://developer.android.com/training/wearables/apps/packaging.html 翻譯:姚汝剛 郵箱:yaorugang@hotmail.com |
名詞說明:
l Wearable:指的是可穿戴設(shè)備,但是目前應(yīng)用最廣泛的可穿戴設(shè)備就是手表,所以為了方便起見,本文在翻譯的過程中有時會將Wearable直接翻譯為手表,便于理解。
l Handheld: 原文中用的handheld指的是手機程序,本文不對這個單詞做翻譯。它指的就是Android Studio項目中的Mobile模塊。
發(fā)布安卓手表應(yīng)用程序時,我們必須要將手表應(yīng)用直接打包到對應(yīng)的手機應(yīng)用程序里面,因為用戶不可以直接瀏覽并安裝應(yīng)用程序到手表設(shè)備上。如果我們進行正確的打包,當(dāng)用戶下載安裝手機版應(yīng)用時,系統(tǒng)會自動將打包的手表程序安裝到與之配對的手表上。
提示:如果在開發(fā)過程中使用的是debug key來進行簽名,那么wearable app將不會被自動安裝。這時就需要使用"adb install"命令或者Android Studio來直接安裝手表應(yīng)用了。 |
使用Android Studio打包
正確使用Android Studio打包wearable app的步驟:
將wearable manifest中聲明的所有權(quán)限在handheld app 的manifest中全部再聲明一遍。比如,你要是在wearable中添加了VIBRATE權(quán)限,那么你需要也同樣在handheld manifest中添加VIBRATE權(quán)限。
確保wearable和handheld應(yīng)用程序具有相同的package name和版本號。
在handheld app的build.gradle文件里聲明對wearable程序的指向:
dependencies { compile 'com.google.android.gms:play-services:5.0.+@aar' compile 'com.android.support:support-v4:20.0.+'' wearApp project(':wearable') } |
點擊菜單Build > Generate Signed APK…并按照屏幕提示選擇你的release keystore去給app簽名。Android Studio自動將簽名后的handheldapp(內(nèi)嵌有wearable app)導(dǎo)出到項目根目錄下。
你其實還可以通過命令行使用Gradle wrapper來簽名wearable和handheld程序。這兩個程序都必須被簽名才可以使wearable程序可以被自動推送到手表上。
為了運行Gradle wrapper,請按照如下方式在環(huán)境變量中配置key文件路徑和證書:
/gradlewassembleRelease \ -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 |
單獨對wearable和handheld程序進行簽名
如果你單獨對wearable程序進行了簽名,你可以在handheld模塊的build.gradle文件中進行以下聲明來將簽名過的wearable程序嵌入進來:
dependencies { ... wearApp files('/path/to/wearable_app.apk') } |
接下來你就可以按照任何你喜歡的方式來簽名你的handheld程序(可以點擊菜單 Build > Generate Signed APK…或者使用前面章節(jié)介紹的signingConfig規(guī)則)
手動打包
如果你不是使用的Android Studio,而是其他的IDE或者其他的編譯方式,你依舊可以手動將wearable程序打包到你的handheld程序包里。
將wearable manifest中聲明的所有權(quán)限在handheldapp 的manifest中全部再聲明一遍。比如,你要是在wearable中添加了VIBRATE權(quán)限,那么你需要也同樣在handheld manifest中添加VIBRATE權(quán)限。
確保wearable和handheld應(yīng)用程序具有相同的package name和版本號。
將簽名后的wearable程序拷貝到手機項目的res/raw目錄中。我們指定APK的名字為wearable_app.apk。
創(chuàng)建文件res/xml/wearable_app_desc.xml,包含有wearable程序的版本號和路徑信息。例如:
其中package,versionCode和versionName的值與wearable程序的AndriodManifest.xml文件中的對應(yīng)值保持一致。rawPathResId是APK文件的名字(不包括后綴名)。比如,對于wearable_app.apk來說,其名字就是wearable_app。
在handheld程序的
編譯并簽名handheld程序。
關(guān)閉Asset壓縮
許多編譯工具會自動壓縮安卓應(yīng)用程序res/raw目錄中的文件。因為wearable APK已經(jīng)是壓縮過的,這些編譯工具會再次對wearable APK進行壓縮,這會導(dǎo)致wearable app installer無法對APK進行讀取。
如果這種情況發(fā)生,安裝將失敗。Handheld程序的PackageUpdateService
將記錄如下日志信息” this file cannot be opened as a file descriptor; it is probablycompressed.”
AndroidStudio默認(rèn)情況下不會對APK進行壓縮,但是如果你使用其他方式進行編譯,請一定確定不要重復(fù)對APK進行壓縮。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。