Android 在我的应用程序中,我有一个模块(一个库);产品风味';在库构建中。应用程序可以';不要依赖模块
在我的应用程序中,我有一个模块(basiclib是一个库)。当我在库构建中设置“productFlavors”时,我构建了该项目。该应用程序存在更多导入错误。它无法导入basiclib包和bascilib依赖项的包 但我去掉了basiclib的“产品口味”,一切都是对的 应用程序构建:Android 在我的应用程序中,我有一个模块(一个库);产品风味';在库构建中。应用程序可以';不要依赖模块,android,android-studio,gradle,Android,Android Studio,Gradle,在我的应用程序中,我有一个模块(basiclib是一个库)。当我在库构建中设置“productFlavors”时,我构建了该项目。该应用程序存在更多导入错误。它无法导入basiclib包和bascilib依赖项的包 但我去掉了basiclib的“产品口味”,一切都是对的 应用程序构建: apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda' android { compileSdkVe
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
dataBinding {
enabled true
}
defaultConfig {
applicationId "xxxx"
minSdkVersion 11
targetSdkVersion 22
versionCode 18000
versionName "1.0.0"
}
lintOptions {
abortOnError false
}
buildTypes {
release {
signingConfig signingConfigs.myConfig
minifyEnabled true;
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
zipAlignEnabled true
}
}
flavorDimensions "url", "theme"
productFlavors {
sit {
buildConfigField 'String', 'API_URL', '"xxxx"'
dimension "url"
}
uat {
buildConfigField 'String', 'API_URL', '"xxxx"'
dimension "url"
}
prd {
buildConfigField 'String', 'API_URL', '"xxx"'
dimension "url"
}
themewhite {
buildConfigField 'String', 'theme', '"white"'
dimension "theme"
}
}
sourceSets {
sit {
java.srcDirs = ['src/sit_uat/java']
}
uat {
java.srcDirs = ['src/sit_uat/java']
}
prd {
java.srcDirs = ['src/prd/java']
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
sitCompile 'com.bugtags.library:bugtags-lib:latest.integration'
prdCompile 'com.umeng.analytics:analytics:latest.integration'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.0'
compile 'com.jiechic.library:xUtils:2.6.14'
compile 'com.loopj.android:android-async-http:1.4.7'
compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'com.android.support:recyclerview-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
// Did'n work.
compile project(path: ':basiclib')
}
图书馆建设(basiclib)
我也遇到了同样的问题,经过大量搜索,我找到了以下文档条目: 简而言之:默认情况下,在库模块中,只有默认配置(release/no-flavor)对其他模块可见。要访问主模块中的不同口味,请添加
publishNonDefault true
在库的build.gradle
文件的android部分
然后您还必须为主模块添加不同的风格,它们可以是空声明。在build.gradle
的依赖项部分,参考以下模块:
flavor1Compile project(path: ':yourlib', configuration: 'flavor1Release')
flavor2Compile project(path: ':yourlib', configuration: 'flavor2Release')
谢谢你,我知道了~
flavor1Compile project(path: ':yourlib', configuration: 'flavor1Release')
flavor2Compile project(path: ':yourlib', configuration: 'flavor2Release')