当前位置: 首页 > ops >正文

androidstudio 高低版本兼容

之前使用androidstudio版本为4.1.3,因为使用新的工程编译报错,需要升级as的版本,所以下载新的as版本Android Studio Narwhal | 2025.1.1 Patch 1 进行使用。

然后导入新的工程,按照工程默认配置进行编译,之后再迁移到旧工程中进行使用。

这里导入工程sherpa-ncnn,地址为https://github.com/k2-fsa/sherpa-ncnn

以下为遇到问题以及解决过程。

1:因为下载新的as,所以很多设置和页面都变了,需要先设置一些页面主题等方便使用。
2:然后使用工程自己的配置进行编译,要能编译通过,这里使用java jdk版本18,在右侧Gradle中的设置图标点进去Gradle Setting 打开,也就是androidstudio工具File--Settings里面的Build,Execution,Deployment下面的Build Tools下面的Gradle,在右侧选择Gradle JDK版本为18,然后在Project Structure里面选择java语言为JAVA 11,虽然这里可能不适配(JDK18应该对应JAVA18?),但是也编译通过了。
3:查看项目根目录下build.gradle下版本插件版本为7.2.2,然后gradle文件夹下使用的是gradle-7.5-bin.zip版本。

plugins {id 'com.android.application' version '7.2.2' apply falseid 'com.android.library' version '7.2.2' apply false
}

4:app目录下build.gradle文件下编译目标位compileSdk 32,
5:  使用aar包,以下两种都可以。
  //这里用libs下的aar替换依赖
//    implementation 'com.github.k2-fsa:sherpa-onnx:v1.12.5'
    //gradle7.0以上需要这样写,这种需要拷贝aar到libs下
    implementation(fileTree("libs/sherpa-onnx-v1.12.5.aar"))
这样原始工程就编译通过。可以安装运行。

然后迁移到低版本过程:拷贝assets资源,拷贝jniLibs资源,拷贝activity,xml相关。
拷贝aar文件,在上面已经下载好的.gradle文件夹中拷贝出来,放在app下的libs下

一般编译好的第三方依赖下载目录为windows地址:
C:\Users\用户名\.gradle\caches\modules-2\files-2.1\    这里会有下载好的各种依赖,需要哪个可以直接拷贝出来。
然后在app目录下build.gradle文件增加implementation(fileTree("libs/sherpa-onnx-v1.12.5.aar"))
然后修改右侧Gradle-Gradle Settings里面的JDK版本为Oracle OpenJDK 1.8,
然后修改project structure里面java语言版本为1.8(8),
然后编译报错:Failed resolution of: Lkotlin/jvm/internal/Intrinsics
然后在app目录下(不是项目根目录)的build.gradle文件增加:
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.30'
然后重新编译,通过。
这里旧工程原始的工程根目录下的gradle插件版本为"com.android.tools.build:gradle:4.1.3",
gradle版本为gradle-6.5-bin.zip。
虽然通过了,但是后续还是要升上来。跟随版本变化。

http://www.xdnf.cn/news/15366.html

相关文章:

  • 破解 VMware 迁移难题:跨平台迁移常见问题及自动化解决方案
  • 【第六节】docker可视化工具portainer安装
  • Angular 框架下 AI 驱动的企业级大前端应用开
  • Docker 拉取镜像并离线迁移至云桌面指南(以Redis为例)
  • 高安全前端架构:Rust-WASM 黑盒技术揭秘
  • 安全初级(一)
  • vscode 源码编译
  • CA-IS3082W 隔离485 收发器芯片可能存在硬件BUG
  • 如何连接 AWS RDS 数据库实例
  • React Three Fiber 实现 3D 模型视图切换、显隐边框、显隐坐标轴
  • 从欧洲杯初现到世俱杯之巅:海信冰箱的“保鲜传奇”
  • IIS错误:Service Unavailable HTTP Error 503. The service is unavailable.
  • 专题:2025机器人产业深度洞察报告|附136份报告PDF与数据下载
  • 如何将数据从一部手机传输到另一部手机?
  • CompletableFuture 源码解析
  • 微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态
  • CentOS 安装jenkins笔记
  • DiffDet4SAR——首次将扩散模型用于SAR图像目标检测,来自2024 GRSL(ESI高被引1%论文)
  • 深入浅出Kafka Broker源码解析(下篇):副本机制与控制器
  • 总结一下找素数的三种方法
  • 【Bluedroid】蓝牙协议栈enable流程深度解析
  • 若依(RuoYi)框架项目结构全解析
  • [Dify]-进阶1- Dify 支持的多种 AI 模型解析与选择建议
  • Linux修炼:自动化构建make/Makefile
  • sshpass原理详解及自动化运维实践
  • 微软发布BioEmu模型
  • 【FPGA】AXI总线协议
  • 动态规划题解——单词拆分【LeetCode】
  • VScode链接服务器一直卡在下载vscode服务器,无法连接成功
  • 企业数字化资产管理安全、成本、协作困局难解?