gpt4 book ai didi

android - com.android.tools.r8.errors.a : MethodHandle. 调用和 MethodHandle.invokeExact 仅支持从 Android O 开始

转载 作者:行者123 更新时间:2023-12-03 03:06:57 26 4
gpt4 key购买 nike

我正在开发 android 原生应用程序,我已经为他们准备好了 图书馆项目包含这些应用程序的所有常用工具。
我正在使用 jfrog artifactory 导入我的库,并且运行良好;现在我想使用 git 和子模块 让我的图书馆在我的项目中作为一个模块能够同时在应用程序和库上工作。
但是现在(在我包含两个模块(应用程序和库)的项目中),构建失败了......
我之前尝试过很多事情来寻求帮助......我认为问题来自两个模块之间的重复依赖关系,因为没有库子模块构建是可以的。
这是堆栈跟踪的开头:

C:\Users\sri\.gradle\caches\transforms-2\files-2.1\841047937c984e1ac263db2768d03619\jetified-objenesis-3.0.1.jar: D8: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)
Stack trace:
com.android.tools.r8.errors.a: MethodHandle.invoke and MethodHandle.invokeExact are only supported starting with Android O (--min-api 26)
at com.android.tools.r8.errors.a.a(:7)
...........
//end
* What went wrong:
Execution failed for task ':app:dexBuilderDebug'.
> There was a failure while executing work items
> A failure occurred while executing com.android.build.gradle.internal.dexing.DexWorkAction
> Failed to process: C:\Users\sri\.gradle\caches\transforms-2\files-2.1\841047937c984e1ac263db2768d03619\jetified-objenesis-3.0.1.jar
1.应用程序build.gradle文件
顶层 :
buildscript {
ext.versions = [
'kotlin' : '1.4.0',
'powermock' : '2.0.7',
'constraintLayout' : '2.0.0',
'butterknife' : '10.2.3',
'jsonwebtoken' : '0.10.7',
'retrofit' : '2.9.0',
'supportLibrary' : '1.1.0',
'module' : '3.5.10',
'okhttp' : '4.8.1',
'mockito' : '3.3.3',
'lifecycleVersion' : '2.2.0',
'junit' : '4.13',
'eventBus' : '3.2.0',
'picasso' : '2.71828',
'swipeRefreshLayout': '1.1.0',
'cardView' : '1.0.0',
'viewPager' : '1.0.0',
'material' : '1.3.0-alpha02',
'rxjava' : '3.0.4',
'rxandroid' : '3.0.0',
'spoon' : '1.7.1'
]
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath "io.realm:realm-gradle-plugin:7.0.1"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}"
classpath 'com.google.gms:google-services:4.3.3'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.2.0'
}
}

allprojects {
repositories {
jcenter()
google()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
应用级:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.firebase.crashlytics'

//.. signing removed ... //

android {
signingConfigs {
//........
}
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com......."
minSdkVersion 21
targetSdkVersion 29
versionCode 42
versionName versionProperties['versionName']
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk.abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'

}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
applicationIdSuffix ".debug"
versionNameSuffix '-debug'
}
}
lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
viewBinding true
dataBinding true
}
configurations {
all*.exclude group: 'xmlpull', module: 'xmlpull'
all*.exclude group: 'xpp3', module: 'xpp3_min'
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0-rc03', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation project(':mob-android-qualiacmodule:qualiac-module')
implementation "androidx.appcompat:appcompat:1.2.0"
implementation "com.google.android.material:material:${versions.material}"
implementation "androidx.constraintlayout:constraintlayout:${versions.constraintLayout}"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:${versions.swipeRefreshLayout}"
implementation "androidx.cardview:cardview:${versions.cardView}"
implementation 'androidx.annotation:annotation:1.1.0'
implementation 'com.google.firebase:firebase-analytics:17.5.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
implementation 'com.google.android.gms:play-services-maps:17.0.0'

implementation 'com.google.firebase:firebase-ml-vision:24.1.0'
implementation 'com.google.android.gms:play-services-vision-image-label:18.0.5'
implementation 'com.google.android.gms:play-services-vision-common:19.1.1'
implementation 'com.google.android.gms:play-services-vision:20.1.1'

kapt "com.jakewharton:butterknife-compiler:${versions.butterknife}"
implementation "com.jakewharton:butterknife:${versions.butterknife}"
implementation "com.squareup.retrofit2:retrofit:${versions.retrofit}"
implementation "com.squareup.retrofit2:converter-gson:${versions.retrofit}"
implementation "com.squareup.retrofit2:adapter-rxjava2:${versions.retrofit}"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}"
implementation "com.squareup.okhttp3:logging-interceptor:${versions.okhttp}"
implementation "com.squareup.okhttp3:mockwebserver:${versions.okhttp}"
implementation "com.squareup.okhttp3:okhttp:${versions.okhttp}"
implementation "org.greenrobot:eventbus:${versions.eventBus}"
implementation "io.reactivex.rxjava3:rxjava:${versions.rxjava}"
implementation "io.reactivex.rxjava3:rxandroid:${versions.rxandroid}"

implementation "com.squareup.picasso:picasso:${versions.picasso}"
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation "androidx.core:core-ktx:1.3.1"
implementation "android.arch.lifecycle:extensions:1.1.1"
api 'com.google.guava:guava:29.0-jre'
implementation "androidx.viewpager2:viewpager2:${versions.viewPager}"
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${versions.lifecycleVersion}"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:${versions.lifecycleVersion}"
// alternately - if using Java8, use the following instead of lifecycle-compiler
implementation "androidx.lifecycle:lifecycle-common-java8:${versions.lifecycleVersion}"

testImplementation 'junit:junit:4.13'

androidTestImplementation "com.squareup.spoon:spoon-client:${versions.spoon}"
androidTestImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-rc03'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.3.0-rc03'
}

kapt {
generateStubs = true
}

android.applicationVariants.all { variant ->
variant.outputs.all {
def appName = "jobs"
outputFileName = variant.name == "debug" ? "app-debug.apk" : "${appName}-${variant.name}-${variant.versionName}.apk"
}
}

apply plugin: 'com.google.gms.google-services'
2.库build.gradle文件
//顶层
buildscript {
ext.versions = [
'kotlin' : '1.3.72',
......
]
repositories {
jcenter()
google()
mavenCentral()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:7.0.1"
classpath 'com.android.tools.build:gradle:4.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.support:support-v4:28.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}"
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.15.2"

}
}
allprojects {

repositories {
jcenter()
google()
mavenCentral()
maven {
url 'https://maven.fabric.io/public'
}
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}
//库级别
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
apply plugin: 'kotlin-android-extensions'

def libraryVersion = '3.5.10'

android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk.abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

lintOptions {
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
viewBinding {
enabled = true
}
dataBinding {
enabled = true
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0-rc03', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation "androidx.appcompat:appcompat:${versions.supportLibrary}"
implementation "com.google.android.material:material:${versions.material}"
implementation "androidx.constraintlayout:constraintlayout:${versions.constraintLayout}"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:${versions.swipeRefreshLayout}"

implementation 'com.google.firebase:firebase-ml-vision:24.0.3'
implementation 'com.google.android.gms:play-services-vision-image-label:18.0.5'
implementation 'com.google.android.gms:play-services-vision-common:19.1.1'
implementation 'com.google.android.gms:play-services-vision:20.1.1'

implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation "androidx.cardview:cardview:${versions.cardView}"
api 'com.google.firebase:firebase-core:17.4.4'
implementation "com.squareup.retrofit2:retrofit:${versions.retrofit}"
implementation "com.squareup.retrofit2:converter-gson:${versions.retrofit}"
implementation "com.squareup.retrofit2:adapter-rxjava2:${versions.retrofit}"
implementation "com.squareup.retrofit2:retrofit-mock:${versions.retrofit}"
implementation "org.greenrobot:eventbus:${versions.eventBus}"
api "com.squareup.okhttp3:logging-interceptor:${versions.okhttp}"
implementation "com.squareup.okhttp3:mockwebserver:${versions.okhttp}"
implementation "com.squareup.okhttp3:okhttp:${versions.okhttp}"
api "io.jsonwebtoken:jjwt-api:${versions.jsonwebtoken}"
runtimeOnly "io.jsonwebtoken:jjwt-impl:${versions.jsonwebtoken}"
runtimeOnly("io.jsonwebtoken:jjwt-orgjson:${versions.jsonwebtoken}") {
exclude group: 'org.json', module: 'json'
}
implementation "com.squareup.picasso:picasso:${versions.picasso}"
implementation "io.reactivex.rxjava3:rxjava:${versions.rxjava}"
implementation "io.reactivex.rxjava3:rxandroid:${versions.rxandroid}"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}"
implementation "androidx.core:core-ktx:1.3.1"

testImplementation "junit:junit:${versions.junit}"
implementation "org.powermock:powermock-module-junit4:${versions.powermock}"
implementation "org.powermock:powermock-module-junit4-rule:${versions.powermock}"
implementation "org.powermock:powermock-api-mockito2:${versions.powermock}"
implementation "org.powermock:powermock-classloading-xstream:${versions.powermock}"
testImplementation 'org.mockito:mockito-core:3.4.6'

implementation 'androidx.test:core:1.2.0'
implementation 'androidx.test.ext:junit:1.1.1'
implementation 'androidx.test:runner:1.2.0'
implementation 'androidx.test:rules:1.2.0'
implementation "androidx.test.espresso:espresso-core:${versions.espresso}"
implementation "androidx.test.espresso:espresso-contrib:${versions.espresso}"
implementation "com.squareup.spoon:spoon-client:${versions.spoon}"
implementation "androidx.viewpager2:viewpager2:${versions.viewPager}"
// ViewModel
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:${versions.lifecycleVersion}"
// LiveData
implementation "androidx.lifecycle:lifecycle-livedata-ktx:${versions.lifecycleVersion}"
// alternately - if using Java8, use the following instead of lifecycle-compiler
implementation "androidx.lifecycle:lifecycle-common-java8:${versions.lifecycleVersion}"

androidTestImplementation 'androidx.test:core:1.2.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation "androidx.test.espresso:espresso-contrib:${versions.espresso}"

api 'com.google.guava:guava:29.0-jre'
implementation "androidx.lifecycle:lifecycle-extensions:${versions.lifecycleVersion}"

}

最佳答案

我的解决方案是在 build.gradle 的末尾添加以下几行

allprojects {
configurations.all {
resolutionStrategy.force 'org.objenesis:objenesis:2.6'
}
}
感谢 https://github.com/mockito/mockito/issues/2007

关于android - com.android.tools.r8.errors.a : MethodHandle. 调用和 MethodHandle.invokeExact 仅支持从 Android O 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63612606/

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