安卓开发——Android Studio常见报错与解决方法

1. No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-android

这个错误是由于较新版本的NDK的./toolchains目录中没有arm-linux-androideabi文件,解决办法是从旧的NDK版本里面把相关的lib复制到要使用的NDK的版本里面,重新编译运行。

打开Andrid SDK配置界面:

  1. 下载旧版本的NDK(NDK 21是包含了需要的LIB,新测可行)
  2. 然后打开SDK所在的目录:

把NDK 21里面的toolchains目录下除了llvm的所有文件移动到NDk 25 toolchains里面,重新编译运行。

2. Please select Android SDK

Android Studio开发环境界面上边用于编译的小锤子旁边的app上打了一个小红叉(×),无论如何也点击不了运行,同时也无法选择真机设备。点击File->Project Structure就会出现报错。

解决方法:

  1. 点Android SDk,然后点Edit
  1. 进行下面这个界面,对着前面的勾点一下(点的时候没有任何反应),之后选择下一步,完成后就可以执行了。

3. Unsupported Java. Your build is currently configured to use Java 17.0.6 and Gradle xxx

版本不匹配,Gradle 版本和 Java 版本之间的对应关系并不是直接的一对一关系。通常情况下,Gradle 版本并不限制特定的 Java 版本,但是 Gradle 和 Java 需要保持兼容性。

Android Studio 和 Gradle 支持的 Java 版本与操作系统和所安装的 JDK 版本有关。以下是一些常见的对应关系:

  • 对于较新的 Android Studio 和 Gradle 版本,可以使用较新的 JDK 版本(比如 Java 11、Java 12、Java 13、Java 14、Java 15、Java 16、Java 17 等)。建议使用最新的 LTS(Long-Term Support)版本,比如 Java 11 或 Java 17。

如果项目或团队使用较旧的 Gradle 版本,可能需要使用较旧版本的 JDK。例如,某些旧版本的 Gradle 可能对较新的 JDK 不完全兼容,因此可能需要使用较旧的 JDK 版本,比如 Java 8。

解决方法:

找到Gradle的设置界面,如果没有旧版本的JDK,就选择下载,如果已下载过旧的版本,选择旧版的NDK。

4. Android Studio Could not initialize class org.codehaus.groovy.runtime.InvokerHelper

Android studio 使用gradlew命令打包时,出现Could not initialize class org.codehaus.groovy.runtime.InvokerHelper错误。

解决方法:

  • 安装Java SDK版本: 14或更高版本。
  • 在gradle-wrapper.properties请使用级版本6.3或以上:

distributionUrl=https://services.gradle.org/distributions/gradle-6.3-all.zip

5. Out of memory. Java heap space

报错信息:

  • What went wrong:
    Out of memory. Java heap space

Possible solution:

  • Check the JVM memory arguments defined for the gradle process in:
    gradle.properties in project root directory
    gradle.properties in GRADLE_USER_HOME directory

解决方法:

把512改成1024或者2048就,重新编译运行

相关推荐
Frank_HarmonyOS14 分钟前
【Android -- 多线程】Handler 消息机制
android
一条上岸小咸鱼1 小时前
Kotlin 基本数据类型(一):概述及分类
android·kotlin
没盐水菠萝2 小时前
Android - 动态切换桌面图标
android
AI 嗯啦2 小时前
SQL详细语法教程(三)mysql的函数知识
android·开发语言·数据库·python·sql·mysql
麦兜*2 小时前
【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案
服务器·ios·swiftui·android studio·objective-c·ai编程·swift
跨界混迹车辆网的Android工程师3 小时前
adb 发送广播
android
QL.ql3 小时前
vscode的ws环境,esp32s3连接wifi
ide·vscode·编辑器
超勇的阿杰5 小时前
gulimall项目笔记:P54三级分类拖拽功能实现
android·笔记
峥嵘life6 小时前
Android 欧盟网络安全EN18031 要求对应的基本表格填写
android·安全·web安全
程序员码歌8 小时前
【零代码AI编程实战】AI灯塔导航-从0到1实现篇
android·前端·人工智能