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

相关推荐
一笑的小酒馆1 小时前
Android12Launcher3实现应用裁剪
android
FinelyYang7 小时前
UniApp + LiveKit:Android 端为什么要用原生做屏幕共享,以及我们怎么落地的
android·uni-app
蓝速科技7 小时前
蓝速科技信创落地:平衡安全合规与项目成本的实战方案
android·运维·人工智能·科技·安全·电脑·鸿蒙
又见情义9 小时前
RK3568 Android 13 SDK 开机自动开启共享热点实践
android
mmsx10 小时前
return false 不是拦截:一次按键触发两个动作的事件冒泡陷阱
android·bug
DU_YULIN10 小时前
Camera HAL ThreadManager概述
android·camera hal
淡淡的香烟11 小时前
Android中的MQTT通信原理解析
android·物联网
淡淡的香烟11 小时前
Android Camera开发详解
android·音视频
mmsx12 小时前
基于 Android 的校园信息管理系统源码
android·java·okhttp
JTaoX13 小时前
pycharm 集成本地 jupyter notebook
ide·jupyter·pycharm