вы не можете запросить командную строку Gradle - но Gradle может запросить приглашение командной строки.
на основе этого ответа здесь можно легко создать нужную задачу удаления приложения Exec
:
task uninstallApp(type: Exec) {
def uninstallCommand = ['adb', 'shell', 'pm', 'uninstall', 'com.acme.coyote']
commandLine uninstallCommand
}
эту задачу можно добавить либо с помощью task.finalizedBy
, либо с помощью task.dependsOn
.
также см. Этот ответ моего, который объясняет, как бороться с общими предпочтениями ...
потому что, когда эти предпочтения восстанавливаются из резервной копии; это не новая установка.
Ну, я предполагаю, что не соглашаюсь, что внешний облик вне рассмотрения. У меня была подобная проблема в прошлом. Я решил его с помощью svn внешнего облика свойства.
Создают Ваши репозитории библиотеки:
svnadmin create /path/library1
svnadmin create /path/library2
...
Создают клиентские репозитории:
svnadmin create /path/program1
svnadmin create /path/program2
...
Теперь объявляют библиотеки как внешние в репозиториях программы:
cd /path/program1
svn propset svn:externals "library1 svnpath://wherever/library1/trunk/" .
svn propset svn:externals "library2 svnpath://wherever2/library2/trunk/" .
Теперь тогда можно делать изменения в программы 1 & 2 и делающие фиксации в корне тех проектов не влияет на библиотеки..., но, если необходимо было внести изменения в библиотеки, Вы можете. Тогда, если и только если у Вас есть полномочия записи в репозитории библиотеки, Вы могли фиксировать те изменения также - но только от подкаталога библиотеки.
Т.е. это не делает фиксацию к библиотекам...
... make a change in /path/program1/library1 ...
cd /path/program1
svn commit -m "some change"
Это фиксирует изменение, внесенное в библиотеке выше:
cd /path/program1/library1
svn commit -m "change to library code"
Почему делает источник для библиотеки, должны существовать в дереве программы. Скомпилируйте свои библиотеки отдельно и свяжите их в Ваши программы.