现在有两天,我试图在我的Android应用程序中创建2种不同的样式。
我将我的应用程序从Eclipse导入了Android Studio。
我创建了另外2个res文件夹(res_testing和res_distribution)和另外2个src文件夹(src_testing和src_distribution)。
这是我的build.gradle的样子:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
task wrapper(type: Wrapper) {
gradleVersion = '1.6'
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "18.0.1"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
productFlavors {
flavor1 {
packageName = 'com.comp.4u.testing'
}
flavor2 {
packageName = 'com.comp.4u'
}
}
android.sourceSets.flavor1{
java.srcDirs = ['src_testing']
resources.srcDirs = ['res_testing']
}
android.sourceSets.flavor2{
java.srcDirs = ['src_distribution']
resources.srcDirs = ['res_distribution']
}
instrumentTest.setRoot('tests')
}
}
但是,当我更改Build Varients时,尽管该应用程序生成正常,但仍使用与主src文件夹中相同的DataManager文件(尽管我确实根据给定的名称获得了两个不同的程序包)。
这让我疯狂!!
我浏览了100个论坛和帖子,但没有运气。
每个DataManager都使用到服务器的不同URL。这是我唯一想要的。
最佳答案
我有一个similar problem。
当从主文件夹中删除 flavor 中覆盖的数据时会发生什么?
是否收到找不到网址的错误?如果是的话,那么我会得到相同的错误。
我通过创建一个新项目并将所有文件复制到其中来解决了这个问题。
我认为通过从eclipse导出项目并将其导入到as仍然存在一些问题。
关于android - 将项目从Eclipse导入Android Studio时在gradle中使用Flavors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18113721/