安卓开发——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就,重新编译运行

相关推荐
AsiaLYF23 分钟前
kotlin中MutableStateFlow和MutableSharedFlow的区别是什么?
android·开发语言·kotlin
2501_9160088936 分钟前
iOS 发布全流程详解,从开发到上架的流程与跨平台使用 开心上架 发布实战
android·macos·ios·小程序·uni-app·cocoa·iphone
4Forsee1 小时前
【Android】浅析 Android 的 IPC 跨进程通信机制
android·java
叶羽西1 小时前
如何区分Android、Android Automotive、Android Auto
android
用户2018792831671 小时前
用 “奶茶店订单系统” 讲懂 MVI 架构
android
LiuYaoheng2 小时前
【Android】布局优化:include、merge、ViewStub的使用及注意事项
android·java
Kapaseker2 小时前
Kotlin Flow 的 emit 和 tryEmit 有什么区别
android·kotlin
好好学习啊天天向上3 小时前
Android Studio 撕开安卓手机投屏
android·智能手机·android studio
Android-Flutter4 小时前
android - JPG图片转换HDR图片,heic格式
android
techdashen10 小时前
圆桌讨论:Coding Agent or AI IDE 的现状和未来发展
ide·人工智能