Вот мое решение, позволяющее легко создавать, устанавливать и запускать приложения Android на нескольких устройствах, используя ровно два ярлыка STRG + S и STRG + ALT + F10 ;)
1.Build APK
Обычное поведение сборки Android в Eclipse заключается в том, что APK не будет создан.Но в настройках есть возможность отключить это поведение.
- Окно -> Настройки -> Android -> Сборка -> Пропускать упаковку и индексацию до экспорта или запуска
=> После отмены выбора этой опции для создания файла APK после изменения кода требуется только Strg + S .
2.Установка и запуск
Чтобы установить и автоматически запустить приложение для нескольких устройств, проще всего использовать командную строку и пакетный скрипт 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 создайте ярлык для этого файла.Щелкните правой кнопкой мыши файл ярлыка и выберите свойства.Там вы можете указать глобальную комбинацию клавиш, например STRG + ALT + F10 .
После изменения некоторого кода в Eclipse, вам нужно только нажать STRG + S изатем STRG + ALT + F10 , и приложение будет наконец запущено на всех устройствах.Да уж!:)