Android This feature requires ASM7(Android此功能需要ASM7)
问题描述
Possible duplicate
我已将我的Android Studio更新为
'Android Studio Arctic Fox | 2020.3.1 Patch 3'
Java从JDK 1.8更新到JDK 11
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
}
我还将Gradle升级到
'com.android.tools.build:gradle:7.0.3'
这是我的完整Gradle构建文件
Gradle(模块)
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-android-extensions'
id 'androidx.navigation.safeargs.kotlin'
id 'kotlin-kapt'
id 'io.michaelrocks.paranoid'
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
}
android {
compileSdk 32
defaultConfig {
applicationId "com.company.project"
minSdk 21
targetSdk 32
versionCode 13
versionName "2.0.34"
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
//cppFlags "-pie -fPIE"
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
testOptions {
unitTests {
includeAndroidResources = true
returnDefaultValues = true
}
}
packagingOptions {
exclude 'META-INF/AL2.0'
exclude 'META-INF/LGPL2.1'
exclude 'META-INF/atomicfu.kotlin_module'
}
kotlinOptions {
jvmTarget = '11'
}
dataBinding {
enabled = true
}
externalNativeBuild {
cmake {
path "src/main/jni/CMakeLists.txt"
version "3.10.2"
}
}
ndkVersion '21.0.6113669'
signingConfigs {
debug {
// Signing configs
storeFile file("../keystore/debug.keystore")
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
release {
// Signing configs
storeFile file("../keystore/release.keystore")
storePassword 'company1234'
keyAlias 'company_key'
keyPassword 'company1234'
enableV2Signing = true
enableV3Signing = true
enableV4Signing = true
}
}
buildTypes {
debug {
signingConfig signingConfigs.debug
minifyEnabled false
applicationVariants.all {
variant - >
renameAPK(variant, applicationName, defaultConfig, 'D')
}
}
release {
signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
applicationVariants.all {
variant - >
renameAPK(variant, applicationName, defaultConfig, 'R')
}
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86"
}
}
}
flavorDimensions "ht"
productFlavors {
dev {
applicationId "com.company.project"
buildConfigField "int", "FlavorCode", "1"
}
staging {
applicationId "com.company.project"
buildConfigField "int", "FlavorCode", "2"
}
prod {
applicationId "com.company.project"
buildConfigField "int", "FlavorCode", "3"
}
}
}
static def renameAPK(variant, applicationName, defaultConfig, buildType) {
variant.outputs.each {
output - >
def formattedDate = new Date().format('dd-MM-yyyy_HH_mm')
def fileName = applicationName + "_V" + defaultConfig.versionName + "_" + formattedDate + "_" + variant.flavorName + "_" + buildType + ".apk"
output.outputFileName = new File(fileName)
}
}
dependencies {
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
////////////////////////// Testing frameworks //////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
//Testing frameworks
testImplementation 'junit:junit:4.13.2'
testImplementation 'androidx.test:core:1.4.0'
testImplementation 'androidx.arch.core:core-testing:2.1.0'
testImplementation 'org.mockito:mockito-core:3.5.13'
testImplementation 'org.robolectric:robolectric:4.4'
testImplementation 'org.robolectric:shadows-multidex:4.4'
testImplementation "io.mockk:mockk:1.10.2"
testImplementation 'io.mockk:mockk-common:1.10.2'
testImplementation 'com.google.truth:truth:1.1.3'
testImplementation 'org.apache.maven:maven-ant-tasks:2.1.3'
// Android Tests
androidTestImplementation "androidx.navigation:navigation-testing:$rootProject.ext.navigation"
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.arch.core:core-testing:2.1.0'
androidTestImplementation "androidx.test:core:1.4.0"
androidTestImplementation "androidx.fragment:fragment-testing:$rootProject.ext.fragment_version"
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
////////////////////////// Normal Frameworks //////////////////////////
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
// Multidex
implementation 'com.android.support:multidex:1.0.3'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.annotation:annotation:1.3.0'
implementation "androidx.navigation:navigation-fragment-ktx:$rootProject.ext.navigation"
implementation "androidx.navigation:navigation-ui-ktx:$rootProject.ext.navigation"
implementation "androidx.navigation:navigation-runtime-ktx:$rootProject.ext.navigation"
implementation "androidx.fragment:fragment-ktx:1.2.5"
// Kotlin & JetBrains
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.4.3'
implementation 'com.github.florent37:inline-activity-result-kotlin:1.0.4'
implementation 'org.jetbrains.anko:anko-appcompat-v7-commons:0.10.2'
//Androidx UI Components
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation "androidx.cardview:cardview:1.0.0"
// ViewModel LifeCycle
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
//Koin
implementation "org.koin:koin-core:$rootProject.ext.koin_version"
implementation "org.koin:koin-android:$rootProject.ext.koin_version"
implementation "org.koin:koin-android-viewmodel:$rootProject.ext.koin_version"
implementation "org.koin:koin-android-architecture:$rootProject.ext.koin_architecture_version"
//ok http
implementation "com.squareup.okhttp3:okhttp:4.9.0"
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
//Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.7.0'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.code.gson:gson:2.8.8'
// Room components
implementation 'androidx.room:room-runtime:2.4.1'
implementation 'androidx.room:room-ktx:2.4.1'
kapt 'androidx.room:room-compiler:2.4.1'
androidTestImplementation 'androidx.room:room-testing:2.4.1'
// Navigation component
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:28.4.0')
// Firebase library dependencies
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-dynamic-links-ktx'
// sdp and ssp for dp and sp values
implementation 'com.intuit.sdp:sdp-android:1.0.6'
implementation 'com.intuit.ssp:ssp-android:1.0.6'
//permissions helper
implementation 'com.karumi:dexter:6.2.0'
//Facebook text encryption
implementation 'com.facebook.conceal:conceal:2.0.1@aar'
//Lottie animations
implementation 'com.airbnb.android:lottie:3.4.2'
// Location services
implementation 'com.google.android.gms:play-services-location:19.0.1'
implementation 'com.tbuonomo:dotsindicator:4.2'
implementation 'com.github.bumptech.glide:glide:4.11.0'
kapt 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
implementation 'com.github.bumptech.glide:annotations:4.11.0'
implementation "org.ow2.asm:asm:7.0"
}
Gradle(根/应用程序)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext{
koin_version = '2.0.1'
koin_architecture_version = "0.8.2"
navigation = "2.3.5"
fragment_version = "1.4.0"
}
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.3'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.20'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5'
classpath 'io.michaelrocks:paranoid-gradle-plugin:0.3.2'
classpath 'com.google.gms:google-services:4.3.10'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
升级后,生成失败,出现以下异常
Execution failed for task ':app:transformClassesWithParanoidForDevDebug'.
> com.android.build.api.transform.TransformException: java.lang.IllegalArgumentException: Unable to read a ClassMirror for com/data/model/response/ParsingHelper$CharSequenceDeserializer
This feature requires ASM7
我曾尝试修复特定的ParsingHelper类,并将其代码更新为Kotlin,但随后在不同的类中得到相同的异常。因此,我认为修复整个项目中的每个Java类都不是一个好主意。
根据this线程更新到AGP 7.0.1版可以解决此问题,但我已经在7.0.3的较新版本上。
推荐答案
您可以通过添加maven { url 'https://jitpack.io' }
至Settings.gradle
像这样的代码:
Settings.Gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://www.jitpack.io' } //here you can add this
jcenter() // Warning: this repository is going to shut down soon
}
}
rootProject.name = "YourAppName"
include ':app'
并在build.gradle (Module)
中添加以下内容:
implementation 'org.ow2.asm:asm:7.0'
并重新生成您的项目。
这篇关于Android此功能需要ASM7的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android此功能需要ASM7
基础教程推荐
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 降序排序:Java Map 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01