将项目从Eclipse导入Android Studio时,在gradle中使用Flavors

时间:2013-08-07 20:59:12

标签: android gradle android-studio build.gradle

两天后,我试图在我的Android应用程序中创建2种不同的风格。 我从Eclipse导入了我的应用程序到Android工作室。 我创建了另外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到服务器。这是我唯一想要的东西。

1 个答案:

答案 0 :(得分:0)

我有similar problem

当您从主文件夹中删除在您的版本中重写的数据时会发生什么? 您是否收到未找到网址的错误?如果是的话,我认为它的错误与我相同。

我通过创建一个新项目并将所有文件复制到它来解决了这个问题。 我认为从eclipse导出项目并将其导入as仍然存在一些问题。