2016-08-23 33 views
0

我正在爲Android Wear和Android Phone設備開發應用程序。這兩個應用都位於Android Studio中的一個通用項目中。事實上,這個應用程序使用三個穿戴設備,與單個手機一起工作。因此,當我重新編譯應用程序測試時,我需要在一部手機上構建和安裝這些應用程序,並且每次都要安裝三個磨損設備。是否有一種方法可以使用一個命令自動構建並安裝到所有這四個設備?我想像一個腳本可以從Android Studio的終端運行,但我不知道從哪裏開始。謝謝。Android Studio:構建多個目標

+0

「我想象一個腳本可以運行」 - 這不就是Gradle已經做了什麼嗎? –

+0

嗯,我不會說Gradle,我從來沒有清楚過Android Studio(AS)結束和Gradle開始。該腳本是否需要指示Android Studio開始構建?或者Gradle是否處理整個構建過程?如果gradle處理構建,誰負責安裝到設備? Gradle還是AS? – Hephaestus

+1

Android Studio只是一個編寫代碼的IDE。 Gradle是構建腳本(與Maven和Ant相似)。我假設你可以定義一個自定義[Gradle任務](https://docs.gradle.org/current/userguide/tutorial_using_tasks.html)來爲每個穿戴模塊和應用程序執行安裝過程。我不確定指定特定設備 –

回答

0

按照以上cricket_007的建議,我開始圍繞Android Studio進行挖掘,看看它是否會報告安裝的命令。我找到了這些命令,將它們放在一個shell腳本文件中,現在可以將apk安裝到四個磨損設備中。因此,首先,在Android Studio中,我將轉到:Build |構建APK。生成穿apk文件。然後我使用以下命令執行一個shell腳本:

echo "Installing 422E..." 
adb -s G6NZCJ00401422E push /Users/fred/abcdec/apps/myWearApp/wear/build/outputs/apk/wear-debug.apk /data/local/tmp/com.xyz.myWearApp 
adb -s G6NZCJ00401422E shell pm install -r "/data/local/tmp/com.xyz.myWearApp" 
echo "Starting 422E..." 
adb -s G6NZCJ00401422E shell am start -n "com.xyz.myWearApp/com.xyz.myWearApp.MainWearActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 


echo "Installing 6227..." 
adb -s G6NZCJ004076227 push /Users/fred/abcdec/apps/myWearApp/wear/build/outputs/apk/wear-debug.apk /data/local/tmp/com.xyz.myWearApp 
adb -s G6NZCJ004076227 shell pm install -r "/data/local/tmp/com.xyz.myWearApp" 
echo "Starting 6227..." 
adb -s G6NZCJ004076227 shell am start -n "com.xyz.myWearApp/com.xyz.myWearApp.MainWearActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 


echo "Installing 922a..." 
adb -s G5NZCJ02746922A push /Users/fred/abcdec/apps/myWearApp/wear/build/outputs/apk/wear-debug.apk /data/local/tmp/com.xyz.myWearApp 
adb -s G5NZCJ02746922A shell pm install -r "/data/local/tmp/com.xyz.myWearApp" 
echo "Starting 922A..." 
adb -s G5NZCJ02746922A shell am start -n "com.xyz.myWearApp/com.xyz.myWearApp.MainWearActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 
echo "Done." 

echo "Installing Moto…」 
adb -s localhost:4444 push /Users/fred/abcdec/apps/myWearApp/wear/build/outputs/apk/wear-debug.apk /data/local/tmp/com.xyz.myWearApp 
adb -s localhost:4444 shell pm install -r "/data/local/tmp/com.xyz.myWearApp" 
echo "Starting Moto…」 
adb -s localhost:4444 shell am start -n "com.xyz.myWearApp/com.xyz.myWearApp.MainWearActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER 
echo "Done." 

當然,這也可以擴展爲安裝移動應用程序。我確信我可以找到gradle命令來實際編譯.apk文件作爲腳本的一部分。如果我找到了,我也會發布它。