Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用productFlavors调试和发布包_Android_Build.gradle_Dagger_Android Build Flavors - Fatal编程技术网

Android 使用productFlavors调试和发布包

Android 使用productFlavors调试和发布包,android,build.gradle,dagger,android-build-flavors,Android,Build.gradle,Dagger,Android Build Flavors,我在build.gradle文件中创建了2个productFlavors productFlavors { flavorA { dimension "default" } flavorB { dimension "default" } } 和2个buildTypesdebug和release 因此,gradle创建了构建变体,如香精虫,香精虫,香精虫和香精虫 我想在debu

我在
build.gradle
文件中创建了2个
productFlavors

productFlavors {
        flavorA {
            dimension "default"
        }

        flavorB {
            dimension "default"
        }
    }
和2个
buildTypes
debug
release

因此,gradle创建了
构建变体
,如
香精虫
香精虫
香精虫
香精虫

我想在
debug
release
包中创建一个
volumedi
文件,这样
debug/volumedi
对于
volumadebug
volumbdebebebebebug
是通用的,而
release/volumedi
对于
volumerarelease
是通用的

但是,当我在
AppComponent
中包含
FlavorDI
时,该包无法识别

@Singleton
@Component(modules = [
    AppModule::class,
    ActivityModule::class,
    FragmentModule::class,
    ViewModelModule::class,
    NetModule::class,
    FlavourDI::class,   // Could not import FlavourDI
    AndroidSupportInjectionModule::class,
    AndroidInjectionModule::class
])
我应该如何准确地创建
FlavorDI
文件,以便
debug/FlavorDI
flavorADebug
flavordebebebebug
变体是通用的,而
release/FlavorDI
flavordebrelease
flavordebrelease
变体是通用的


确保您使用的是正确的构建变体。此外,您可能需要使用
flavorDimension
。这是我的
build.gradle中类似设置的内容:

flavorDimensions 'mobile'

productFlavors {
    internal {
        dimension = 'mobile'
        applicationId = 'com.labs.biletskiy.android.internal'
    }

    production {
        dimension = 'mobile'
        applicationId 'com.labs.biletskiy.android.production'
    }

}

确保您使用的是正确的构建变体。此外,您可能需要使用
flavorDimension
。这是我的
build.gradle中类似设置的内容:

flavorDimensions 'mobile'

productFlavors {
    internal {
        dimension = 'mobile'
        applicationId = 'com.labs.biletskiy.android.internal'
    }

    production {
        dimension = 'mobile'
        applicationId 'com.labs.biletskiy.android.production'
    }

}

在你注射的课程上你到底需要什么?最好放一个if-else语句来检查味道,并使用相应的代码,而不是在包中分割它们(在这种情况下,通过包味道分割它不起作用),因为这样做是错误的。不管调试和发布目录如何,都要创建您的flavorA和flavorB目录,然后放入特定于flavor的代码there@JeelVankhede然后我必须为每个构建变量创建一个单独的包。我不想那样。我只是想为ProductFlavor分别提供两个软件包,即调试和发布。我不认为多风格构建是这样工作的。您在注入的类上到底需要什么?最好放一个if-else语句来检查味道,并使用相应的代码,而不是在包中分割它们(在这种情况下,通过包味道分割它不起作用),因为这样做是错误的。不管调试和发布目录如何,都要创建您的flavorA和flavorB目录,然后放入特定于flavor的代码there@JeelVankhede然后我必须为每个构建变量创建一个单独的包。我不想那样。我只是想要两个软件包,即分别为产品flavor调试和发布。我不认为多味构建是这样工作的。我有构建变体,如flavorADebug、FlavorRelease、FlavorBDebebug和FlavorBreease。FlavorDI类位于调试和发布包中。我应该选择哪个构建变体?它不适用于任何构建变体。是的,我还包括了flavorDimensions。另外,请确保缺少的文件中的包声明是正确的。我的构建变体有flavorADebug、FlavorRelease、FlavorBDebebebug和FlavorBreease。FlavorDI类位于调试和发布包中。我应该选择哪个构建变体?它不适用于任何构建变体。是的,我也包含了一些维度。另外,请确保缺少的文件中的包声明是正确的。