для тех кому как и мне не нравиться видеть зависимость в списке основных зависимостей приложения например
testImplementation "junit:junit:+"
создаем файл testDependencies.gradle
:
dependencies {
testImplementation "junit:junit:+"
}
и теперь в файле app/build.gradle
пишем
dependencies {
//other...
}
apply from: "testDependencies.gradle"
Если у вас в junit тестах есть базовые классы для тестов то их можно вынести в отдельный java module например junit_utils в нем написать уже:
junit_utils/build.gradle
dependencies {
implementation "junit:junit:+"//именно implementation
}
и потом в app/build.gradle
dependencies {
testImplementation project(":junit_utils")
}
только узнал что некоторые назвают методы для тестов вместо
@Test
fun noInternetNoData() {...}
через ` :
@Test
fun `should load with no internet and no data`() {...}
Нашел плагин
apply plugin: 'org.ajoberstar.grgit'
теперь многие git команды в groovy можно использовать через grgit
android {
...
defaultConfig {
...
buildConfigField('String', 'BRANCH_NAME', "\"${grgit.branch.current().name}\"")
...
Если у вас большой проект и вы не знаете как называется активити, на которую вы смотрите в тел, то просто выполните команду у терминале
adb shell dumpsys window windows | grep 'mCurrentFocus'
- Зайдите в File->Settings->Plugins-> Marketplace-> Install "ADB Idea" plugin
- Restart Idea
- Connect device with your opened app
- Зайдите в Tools->ADB Idea-> И выберите любую понравившуюся команду, например ADB Clear App Data and Restart
- Logcat window
- Справа выпадающий список
- Edit Filter Configuration
Можно создавать свои фильтры и использовать Regex для фильтрации нужных/не нужных сообщений
Например фильтровать только сообщения с содержанием event или activity (event|activity)
Или убрать сообщения с тегами ^(?!.*(zygote64|dalvik|ViewRootImpl*)).*$
Подробрнее: https://medium.com/@vlonjatgashi/how-to-filter-out-android-logcat-logs-66945a4a0e0a
Как создать кастомнную команду для Idea
Для Linux:
- File
- Settings
- Tools
- External Tools
Name:Any Group: External Tools
Descrption: Any
Program: bash
Arguments: --login -c "./gradlew -q app:dependencies > app_dependencies_compile.txt"
Working dir: $ProjectFileDir$
опция в proguard-rules.pro:
-whyareyoukeeping class com.github.kolya.myapplication.objects.PaymentData
В результате билда в консоль пишет :