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

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下
然后在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.lryc.cn/news/587787.html

相关文章:

  • 机构参与度及其Python数据获取示例
  • 迁移学习:知识复用的智能迁移引擎 | 从理论到实践的跨域赋能范式
  • 【Canvas与五星】六种五星画法
  • MIPI DSI (一) MIPI DSI 联盟概述
  • 【leetcode】231. 2的幂
  • ASP.NET Core中数据绑定原理实现详解
  • Android模块化架构:基于依赖注入和服务定位器的解耦方案
  • iOS如何查看电池容量?理解系统限制与开发者级能耗调试方法
  • H.264编解码(NAL)
  • 前端docx库实现将html页面导出word
  • 蜻蜓I即时通讯水银版系统直播功能模块二次开发文档-详细的直播功能模块文档范例-卓伊凡|麻子
  • 文档处理控件Aspose.Words教程:从 C# 中的 Word 文档中提取页面
  • 【飞牛云fnOS】告别数据孤岛:飞牛云fnOS私人资料管家
  • Python爬虫实战:研究PyMongo库相关技术
  • crawl4ai--bitcointalk爬虫实战项目
  • 嵌入式硬件篇---ne555定时器
  • 嵌入式硬件篇---晶体管的分类
  • Android 中 实现格式化字符串
  • Selenium动态网页爬虫编写与解释
  • 【Linux】Jenkins Lts 配置构建 Maven 项目
  • C++之哈希表的基本介绍以及其自我实现(开放定址法版本)
  • Maven 依赖原则和依赖冲突
  • 【Spring AI Alibaba】接入大模型
  • openGL学习(EBO)
  • Spring 学习笔记
  • 2025/7/14——java学习总结
  • JavaSE-8-多态
  • 机械硬盘文件丢失为何大概率能恢复
  • JavaScript中Object.defineProperty的作用和用法以及和proxy的区别
  • Linux多进程