java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/view/KeyEventCompat;

本文分享了如何在build.gradle文件中将com.android.support:appcompat-v7的版本从25.1.1更新到26.0.0-alpha1,亲测适用于Android开发,提供了一步骤指导。

在build.gradle中更新下库:
我的是把

compile 'com.android.support:appcompat-v7:25.1.1+'

更新到

compile'com.android.support:appcompat-v7:26.0.0-alpha1'

亲测有效!

`java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/activity/SystemBarStyle;` 错误通常表示在运行时找不到 `androidx.activity.SystemBarStyle` 类。这可能是由于依赖缺失、版本不兼容或构建配置问题导致的。以下是一些可能的解决方法: ### 1. 检查依赖 确保项目中已经正确添加了 `androidx.activity` 库的依赖。在 `build.gradle` 文件中添加或更新以下依赖: ```groovy implementation 'androidx.activity:activity:1.7.2' ``` 这是截至2024年7月 `androidx.activity` 的最新稳定版本,你可以根据需要调整版本号。 ### 2. 同步项目 在添加或更新依赖后,需要同步 Gradle 项目。可以通过点击 Android Studio 工具栏中的“Sync Now”按钮来完成同步。 ### 3. 清理和重建项目 有时候,构建缓存可能会导致类加载问题。可以尝试清理项目并重新构建: - 选择“Build” -> “Clean Project” 清理项目。 - 选择“Build” -> “Rebuild Project” 重新构建项目。 ### 4. 检查 Android Gradle 插件版本 确保使用的 Android Gradle 插件版本与 `androidx.activity` 库兼容。可以在 `build.gradle` 文件中更新插件版本: ```groovy classpath 'com.android.tools.build:gradle:8.0.2' ``` 这是截至2024年7月 Android Gradle 插件的最新稳定版本,你可以根据需要调整版本号。 ### 5. 检查 Java 版本 确保项目使用的 Java 版本与依赖库兼容。可以在 `build.gradle` 文件中设置 Java 版本: ```groovy compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } ``` 这将项目的 Java 版本设置为 17,你可以根据需要调整版本号。 ### 示例代码 以下是一个完整的 `build.gradle` 文件示例: ```groovy // 项目级 build.gradle buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:8.0.2' } } // 应用级 build.gradle apply plugin: 'com.android.application' android { compileSdkVersion 34 buildToolsVersion "34.0.0" defaultConfig { applicationId "com.example.myapp" minSdkVersion 21 targetSdkVersion 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } } dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.activity:activity:1.7.2' // 其他依赖... } ``` ### 代码示例 ```java import android.content.Context; import android.net.Uri; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.yalantis.ucrop.UCrop; public class MainActivity extends AppCompatActivity { private ActivityResultLauncher<Uri> cropLauncher; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cropLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> { if (result.getResultCode() == RESULT_OK) { Uri resultUri = UCrop.getOutput(result.getData()); // 处理裁剪结果 } else if (result.getResultCode() == UCrop.RESULT_ERROR) { Throwable cropError = UCrop.getError(result.getData()); // 处理裁剪错误 } }); Uri sourceUri = Uri.parse("your_source_uri"); Uri destinationUri = Uri.parse("your_destination_uri"); int maxWidth = 800; int maxHeight = 600; UCrop uCrop = UCrop.of(sourceUri, destinationUri) .withAspectRatio(16, 9) .withMaxResultSize(maxWidth, maxHeight); cropLauncher.launch(uCrop.getIntent(this)); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值