gpt4 book ai didi

android - 无法构建: How to add Android Build Config for new Module

转载 作者:行者123 更新时间:2023-12-01 18:06:18 25 4
gpt4 key购买 nike

现在我正在将我的 Android 代码转换为模块化架构方法。尝试从“聊天”模块添加对“应用程序”模块的依赖项时遇到问题。

我有以下“应用程序”模块的构建配置。

android {

lintOptions {
checkReleaseBuilds false
abortOnError false
}

signingConfigs {
companydevconfig {
keyAlias 'company'
keyPassword '123456'
storeFile file('../app/jksFils/company_dev.jks')
storePassword '123456'
}
companyqaconfig {
keyAlias 'company'
keyPassword '123456'
storeFile file('../app/jksFils/company_qa.jks')
storePassword '123456'
}
companyprodconfig {
keyAlias 'company'
keyPassword '123456'
storeFile file('../app/jksFils/release.keystore')
storePassword '123456'
}
}

compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.company.employee.dev"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.13"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
aaptOptions {
cruncherEnabled = false
}
testOptions {
unitTests.returnDefaultValues = true
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
testCoverageEnabled true
}

}

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

dataBinding {
enabled = true
}
packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/rxjava.properties'
}
flavorDimensions "company"
productFlavors {
dev {
dimension "company"
applicationId "com.company.employee.dev"
versionCode 277
versionName "2.0.0.16"
signingConfig signingConfigs.companydevconfig

buildConfigField 'String', 'BASEURL', '"https://dev.company.com"'
}
qa {
dimension "company"
applicationId "com.company.employee.qa"
versionCode 225
versionName "2.0.2.2"
signingConfig signingConfigs.companyqaconfig

buildConfigField 'String', 'BASEURL', '"https://qa.company.com"'

}
prod {
dimension "company"
applicationId "com.company.employee.prod"
versionCode 38
versionName "1.5.20"
signingConfig signingConfigs.companyprodconfig

buildConfigField 'String', 'BASEURL', '"https://cloud.company.com"'

}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
testOptions {
unitTests.returnDefaultValues = true
unitTests.all {
setIgnoreFailures(true)
jacoco {
includeNoLocationClasses = true
}
}
}
}

现在我添加了一个新模块“聊天”。它在构建配置中有以下代码。

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 29
buildToolsVersion "29.0.2"

defaultConfig {
applicationId "com.company.employee.chat"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
}
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

dataBinding {
enabled true
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

kotlinOptions {
jvmTarget = "1.8"
}
}

dependencies {
implementation project(':app')

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}

当我尝试构建时出现以下错误。

ERROR: Unable to resolve dependency for ':chat@debug/compileClasspath': Could not 
resolve project :app.
Show Details
Affected Modules: chat


ERROR: Unable to resolve dependency for ':chat@debugAndroidTest/compileClasspath': Could not
resolve project :app.
Show Details
Affected Modules: chat


ERROR: Unable to resolve dependency for ':chat@debugUnitTest/compileClasspath': Could not
resolve project :app.
Show Details
Affected Modules: chat


ERROR: Unable to resolve dependency for ':chat@release/compileClasspath': Could not resolve
project :app.
Show Details
Affected Modules: chat


ERROR: Unable to resolve dependency for ':chat@releaseUnitTest/compileClasspath': Could not
resolve project :app.
Show Details
Affected Modules: chat

最佳答案

这里有一些需要考虑的事情

  1. 应用模块库模块之间存在差异。

库模块符合.aar/file。但是,应用模块已编译为APK。这意味着您无法将应用模块导入为库模块的依赖项。因此,从库模块中删除此行:

 implementation project(':app')
  • 确保该库列在 settings.gradle 的顶部。
  • 打开应用程序模块的settings.gradle并确保列出了您的库

    include ':app', ':chat'
  • 库模块导入到应用模块构建Gradle
  • 导入您的库模块作为依赖项

    dependencies {
    implementation project(':chat')
    }

    最重要的是看看:Create an Android library

    关于android - 无法构建: How to add Android Build Config for new Module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60072710/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com