Ale*_*ost 23 android android-studio android-gradle-plugin
我已经切换到发布构建变体并配置了signingConfigs.现在,当我尝试从下拉菜单中检查调试版本变体时,它立即切换回发布版本变体.所以我无法再以调试模式运行我的应用程序了.
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()
}
Run Code Online (Sandbox Code Playgroud)
我试图在配置之前恢复build.gradle中的所有更改,但没有运气.
任何想法如何解决问题?
paw*_*aws 17
"与Gradle文件同步项目"没有修复.
我注意到Android Studio(v 3.1.2)左下角的"Build Variants"切换按钮,最终能够选择我需要的变体.
也许这对你也有用.
只需要剪切".idea"文件夹并将其粘贴到Project根文件夹之外(如果需要,备份).这些文件将自动重新生成.在打开项目时,它会向你的项目询问添加模块(app).你可以忽略它.
它将set default build variant设置为"debug".您可以在左下角看到构建变量选项卡,或者将鼠标悬停在左下角的"Monitor"符号上以获取构建变体选项.
也许你已经得到了解决方案,以防万一,我在这里提供我的解决方案.
适用于Android Studio 2.x.
这可能是因为您使用以下方法编译依赖项目:
compile project('module_a')
Run Code Online (Sandbox Code Playgroud)
上面的设置将强制您的项目编译模块的发布版本.只需将其更改为:
releaseCompile project(path: ':module_a', configuration: 'release')
debugCompile project(path: ':module_a', configuration: 'debug')
Run Code Online (Sandbox Code Playgroud)
对于Android Studio 3.x
您无需为"模块项目"显式指定构建变体.只是用
implementation project(':library')
Run Code Online (Sandbox Code Playgroud)
将自动帮助选择正确的构建变体.
以下是详细说明:https://developer.android.com/studio/build/?utm_source = android-studio #variant_aware
对于Android Studio 3.x从2.x升级
删除.idea项目根目录下的文件夹,然后重新启动Android Studio.
希望能帮助到你!
我只是有同样的问题。通过关闭 Android Studio,删除生成的文件和文件夹来解决它:.gradle, .idea, app/.externalNativeBuild, app/build, build, app/app.iml, ProjectName.iml, local.properties,然后重新启动 Android Studio 并允许它从头开始重新生成所有这些文件。
Man*_*sha -3
与你的 build.gradle 文件无关,
分享希望对其他人有帮助 -
我遇到了类似的问题,这是因为 build.gradle 中的一行 -
android {
...
publishNonDefault true // remove this line and it should work!
}
Run Code Online (Sandbox Code Playgroud)
在这里您可以获得有关publishNonDefualt的更多详细信息 -
还可以发布库的所有变体。我们计划在使用正常的项目到项目依赖项时允许这样做(如上所示),但由于 Gradle 的限制,目前这是不可能的(我们也在努力修复这些问题)。默认情况下不启用所有变体的发布。下面的代码片段启用了此功能: