我在Android Studio中理解Build Flavors时遇到了麻烦。我正在努力实现一个简单的事情:用一个小代码更改来建立2个签名的APK。 “专业版”APK在drawer.xml
中只有res/layout/
。我已经阅读了文档中的一些内容以及StackOverflow中的一些内容,但我发现build.gradle
更改没有发生任何变化。
我当前的build.gradle
文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.+'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/android-support-v4.jar')
compile files('libs/GoogleAdMobAdsSdk-6.4.1.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
productFlavors {
lite {
packageName = 'com.mikebdev.refuel'
}
pro {
packageName = 'com.mikebdev.refuelpro'
}
}
sourceSets{
android.sourceSets.pro {
res.srcDirs = ['src/main/res_pro']
}
}
}
我创建了一个新文件夹:
/src/main/res_pro/layout/drawer.xml
我在这里做错了什么?
修改
我更新了上面的build.gradle文件。
由于其他一些不稳定因素重置我的整个Android Studio后,我现在可以在左下角选择我的构建变体(lite-debug,lite-release,pro-debug,pro-release)为什么即使那些调试AND发布变种?
这似乎现在可以正常工作。
我在下面添加了答案
答案 0 :(得分:6)
由于其他一些不稳定因素重置我的整个Android Studio后,我现在可以在左下角选择我的构建变体(lite-debug,lite-release,pro-debug,pro-release)为什么即使那些调试AND发布变种?
我用模块创建了一个全新的项目,并复制并粘贴了我从旧项目中删除的所有内容,这些项目我从eclipse中导出了一段时间。
现在有效。
在重新安装之前,我的Android-Studio有点破碎。比应该更多的崩溃,一些奇怪的行为和这样的东西。
答案 1 :(得分:1)
您所犯的错误在于您将文件放在/src/main/res_pro/layout/drawer.xml
中,而不是将其设置在gradle中。您创建的flavor的默认位置是:
/src/pro/res/layout/drawer.xml
答案 2 :(得分:0)
使用此构建脚本,您正在使用构建类型和flavor。要更改xml文件,您只需要这些风格。尝试删除buildTypes并使用productFlavor块作为android的子级。 在主要sourceSet的所有更改之后,更改pro风格的res文件夹应该进入sourceSets Block