我在Android Studio 3.5中有一个项目,并且我正在尝试使用实现项目(':data')在Gradle中添加一个模块,并且它无法正常工作。
我在“数据”模块下导入了Retrofit和Okhttp3,但是它一直说“无法解析符号改进”。这意味着它找不到导入。
这是一个曾经工作过的旧项目,但是一旦我在Android Studio 3.5中打开它,它就会开始出现此问题。
这是我的下面的应用Gradle代码:
// app Gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "com.example.assign"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
ext {
supportlib = '26.0.0'
constraintlay = '1.0.2'
annotations = '27.0.2'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
// Support lib
implementation "com.android.support:appcompat-v7:$supportlib"
implementation "com.android.support:design:$supportlib"
implementation "com.android.support:support-v4:$supportlib"
implementation "com.android.support:support-annotations:$annotations"
implementation "com.android.support.constraint:constraint-layout:$constraintlay"
implementation project(':data')
}
这是我的下面的数据Gradle代码:
// data Gradle
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
buildToolsVersion '28.0.3'
defaultConfig {
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
aaptOptions {
cruncherEnabled = false
}
dexOptions {
javaMaxHeapSize "4g"
}
packagingOptions {
exclude 'LICENSE.txt'
}
}
ext {
retrofit = '2.4.0'
okhttp3 = '3.11.0'
gson = '2.8.1'
annotations = '27.0.2'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "com.android.support:support-annotations:$annotations"
// Network
implementation "com.google.code.gson:gson:$gson"
implementation "com.squareup.retrofit2:retrofit:$retrofit"
implementation "com.squareup.retrofit2:converter-gson:$retrofit"
implementation "com.squareup.okhttp3:okhttp:$okhttp3"
implementation "com.squareup.okhttp3:logging-interceptor:$okhttp3"
}
答案 0 :(得分:0)
尝试为您的第三方库更改api project(':data')
或api。
api "com.squareup.okhttp3:okhttp:$okhttp3"
...
说明:
api
与旧的compile
相同。它支持传递依赖。
而implementation
是直接依赖项。
例如,如果您像使用app
那样在implementation
中添加依赖项,
implementation project(':data')
在这种情况下,您只能访问data
模块文件,因此会出错。
有关更多详细信息,请检查official document
快乐编码。
谢谢