Не удалось переключиться на вариант отладки сборки в Android Studio
Я перешел на вариант сборки релиза и настроил signatureConfigs. Теперь, когда я пытаюсь проверить вариант отладочной сборки из выпадающего меню, он сразу переключается обратно на вариант сборки выпуска. Поэтому я больше не могу запускать свое приложение в режиме отладки.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
android {
signingConfigs {
config {
...
}
}
compileSdkVersion rootProject.compileSdkVersion
buildToolsVersion rootProject.buildToolsVersion
defaultConfig {
applicationId "com.kost.foo"
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
versionCode 2
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
}
externalNativeBuild {
cmake {
...
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable true
signingConfig signingConfigs.config
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main {
jniLibs.srcDirs = ['src/main/jni']
}
}
externalNativeBuild {
cmake {
path 'src/main/jni/CMakeLists.txt'
}
}
}
kapt {
generateStubs = true
}
repositories {
maven { url 'https://github.com/linchaolong/stetho-realm/raw/master/maven-repo' }
mavenCentral()
}
Я попытался отменить все изменения в build.gradle, как это было до настройки, но безуспешно.
Есть идеи, как решить проблему?
Ответы
Ответ 1
У меня была похожая проблема, когда большинство пунктов меню Build были серыми. ![greyed out]()
"Синхронизировать проект с файлами Gradle" не исправлено.
Я заметил тумблер "Build Variants" в левом нижнем углу Android Studio (v 3.1.2) и, наконец, смог выбрать нужный мне вариант.
![Choose variant from here]()
Может быть, это будет работать для вас тоже.
Ответ 2
Может быть, у вас есть решение для этого, на всякий случай, я предоставлю свое решение здесь.
Для Android Studio 2.x
Это может быть потому, что вы компилируете свой зависимый проект, используя:
compile project('module_a')
Вышеуказанная настройка заставит ваш проект скомпилировать выпускную версию ваших модулей. Просто измените его ниже:
releaseCompile project(path: ':module_a', configuration: 'release')
debugCompile project(path: ':module_a', configuration: 'debug')
Для Android Studio 3.x
Вам не нужно явно указывать вариант сборки для "проекта модуля". Просто используя
implementation project(':library')
автоматически поможет выбрать правильный вариант сборки.
Вот подробное объяснение: https://developer.android.com/studio/build/?utm_source=android-studio#variant_aware
Для Android Studio 3.x Обновлен с 2.x
Удалите папку .idea
в .idea
каталоге вашего проекта и перезапустите Android Studio.
Ниже скриншот графического интерфейса:
![enter image description here]()
Надеюсь, поможет!
Ответ 3
Просто нужно вырезать папку ".idea" и вставить ее за пределы корневой папки проекта (для резервного копирования, если вам нужно). Эти файлы будут автоматически восстановлены. При открытии проекта он попросит добавить модуль (приложение) к вашему проекту. Вы можете игнорировать то же самое.
Он установил вариант построения по умолчанию для "debug".
Вы можете увидеть вкладку варианта варианта в левом углу или наведите указатель на "Монитор" слева внизу, чтобы получить вариант варианта сборки.
Ответ 4
Имела ту же проблему, решила создать новый временный тип сборки, Build > Edit Build Types, выбрать Build Types и добавить новый. Sync, вы можете выбрать новый тип сборки, а затем вернуться к исходному типу сборки Debug.
Ответ 5
У меня была такая же проблема. Решив его, закрыв Android Studio, удалив сгенерированные файлы и папки: .gradle
, .idea
, app/.externalNativeBuild
, app/build
, build
, app/app.iml
, ProjectName.iml
, local.properties
, а затем перезапустите Android Studio и позволяет ему восстанавливать все эти файлы с нуля.
Ответ 6
Для меня я не смог переключиться на наш вариант "devDebug", но я мог переключиться на другой вариант, например "devRelease", а затем "devDebug". Поэтому сначала попробуйте переключиться на другой вариант.
Ответ 7
Откройте настройку модуля. (Нажмите F4)
Перейдите к строкам и создайте новую сборку, щелкнув знак плюса (+).
Назовите это что угодно, например "demo".
Дублировать все данные сборки отладки.
Теперь, когда вы откроете Build Variant, вы сможете переключиться на Debug, а также Demo.
Ответ 8
Я столкнулся с аналогичной проблемой. Мой уровень модуля build.gradle отражает конфигурации, указанные для "отладки" И "выпуска" соответственно. Мне удалось успешно запустить мое приложение на эмуляторе и устройстве (LG) до создания и подписания моей продакшен версии моего приложения. После создания и подписания продакшен версии и попытки запустить подписанный APK на моем телефоне и устройстве я получил сообщение об ошибке PM Session 'mobile': Error Launching activity....Error while Launching activity
Итак, я начал пересматривать свои шаги и понял, что перед развертыванием подписанного варианта выпуска я открыл диалоговое окно Run/debug Configurations ![enter image description here]()
и по ошибке выбрал значение APK из значения пакета приложения из атрибута Deploy в категории установки ![enter image description here]()
Я подписал свой APK в ENTIRETY, а не через Bundle, поэтому выбранная опция пыталась развернуть недопустимый комплект приложений, который никогда не создавался, даже если это был правильный вариант сборки.
Ответ 9
У меня тоже есть этот вопрос. Мое решение - проверка на ветку, в которой я изменил варианты сборки. И в этой ветке я могу перейти от отпуска к отладке. Затем просто проверяйте текущую ветку, и все в порядке. Кажется, это ошибка Android Studio.
Ответ 10
Английский не мой родной язык; пожалуйста, извините за ошибки при печати.
Я также встречаю эту ситуацию. Я делаю это, чтобы решить.
Со:
1. удалите файл типа impl суффикса each module's
и папку сборки;
2. затем нажмите эту кнопку, чтобы синхронизировать проект с файлом сборки Gradle. положение кнопки
в конце концов. и тогда эта проблема будет исправлена.
Ответ 11
Я исправил это, выданный:
- Добавьте новый тип сборки с именем debug1 через edit build.gradle; включите функцию отладки этого типа сборки;
- Синхронизируйте и выберите новый тип сборки debug1;
Ответ 12
Не связанный с вашим файлом build.gradle,
В надежде, что это поможет кому-то другому -
У меня была аналогичная проблема, потому что одна из строк в build.gradle -
android {
...
publishNonDefault true // remove this line and it should work!
}
Здесь вы можете получить более подробную информацию об изданииNonDefualt -
Также возможно опубликовать все варианты библиотеки. Мы планируем разрешить это, используя обычную зависимость между проектами (как показано выше), но сейчас это невозможно из-за ограничений в Gradle (мы также работаем над их исправлением).
Публикация всех вариантов не включена по умолчанию. Ниже приведен фрагмент ниже: