2013-08-05 86 views
3

在Android的所有連接的設備安裝和運行apk文件我知道如何安裝,並通過CMD與此命令APK運行:通過CMD

adb install SimpleClientActivity.apk 

和:

adb shell am start -n com.example.simpleclientactivity/.SimpleClientActivity 

如何運行這個命令在所有連接的設備上?

+0

可能重複的[我怎樣才能安裝apk到多個連接的設備?](http://stackoverflow.com/questions/8610733/how-can-i-adb-install-an-apk-to-multiple連接設備) – Adinia

回答

1

Herehere你有一個答案。

您也可以使用Maven構建項目,並在完全安裝後鍵入:mvn android:deploy android:run

+0

沒有從這兩個鏈接中得到任何東西:( –

0

要安裝並自動啓動多種設備的應用程序,最簡單的方法是使用在我看來,在命令行和Windows批處理腳本:

<!-- language: Batch script --> 
:: This five lines are used to minimize the 
:: command lines directly after the start 
if not "%minimized%"=="" goto :minimized 
set minimized=true 
start /min cmd /C "%~dpnx0" 
goto :EOF 
:minimized 

:: Path to the ADB and to the APK file 
@set ADB="D:/Android/sdk/platform-tools/adb.exe" 
@set APK="D:/workspace_android/SomeApp/bin/SomeApp.apk" 

:: AndroidManifest.xml: <manifest package="com.example.appname"> 
:: The launching activity: <activity android:name=".activities.HomeActivity"> 
@set ACTIVITY=at.example.appname/.activities.HomeActivity 

:: Install APK on all devices 
%ADB% devices | tail -n +2 | cut -sf 1 | xargs -iX %ADB% -s X install -r %APK% 
:: Launch App on all devices 
%ADB% devices | tail -n +2 | cut -sf 1 | xargs -iX %ADB% -s X shell am start -a android.intent.action.MAIN -n %ACTIVITY% 

在我來說,我有三個設備。爲了更快地訪問一個設備,我使用了下面的代碼,而不是上面的代碼中的循環。首先,我在最快的設備上安裝並啓動應用程序,然後在第二個設備上啓動應用程序,依此類推。我相信有更好的方法,而不是使用tail,head和xargs,但我不太瞭解批處理文件,但它只是運行。 ;)

<!-- language: Batch script --> 
:: NEXUS 5 
:: This command reinstalls the APK on the Nexus 5 device 
%ADB% devices | tail -n +2 | head -n +1 | cut -sf 1 | xargs -iX %ADB% -s X install -r  %APK% 
:: This command launch the application on the Nexus 5 device 
%ADB% devices | tail -n +2 | head -n +1 | cut -sf 1 | xargs -iX %ADB% -s X shell am start -a android.intent.action.MAIN -n %ACTIVITY% 

:: Galaxy Tab 
%ADB% devices | tail -n -2 | cut -sf 1 | xargs -iX %ADB% -s X install -r %APK% 
%ADB% devices | tail -n -2 | cut -sf 1 | xargs -iX %ADB% -s X shell am start -a android.intent.action.MAIN -n %ACTIVITY% 

:: Optimus 3D 
%ADB% devices | tail -n +3 | head -n +1 | cut -sf 1 | xargs -iX %ADB% -s X install -r %APK% 
%ADB% devices | tail -n +3 | head -n +1 | cut -sf 1 | xargs -iX %ADB% -s X shell am start -a android.intent.action.MAIN -n %ACTIVITY% 

使用Windows Batch腳本後,創建該文件的快捷方式。右鍵單擊該快捷方式文件並選擇屬性。您可以指定全局快捷鍵,例如STRG + ALT + F10

只需按STRG + ALT + F10該應用將在所有設備上啓動。

+0

這是如何工作在Windows上?你有沒有安裝任何東西(例如Cygwin)?在我的Win7機器上,這個腳本在第一行失敗,即使我刪除了第一部分尾部找不到 – simonides

+0

這不是一個Windows批處理腳本,它是一個Linux Bash腳本(不會在Windows上工作) – BayssMekanique