实验笔记之——Android项目的适配

android有一个很烦人的点就是版本之间差距较大,且不兼容,导致不同版本之间代码兼容很容易出问题,一个常见的例子就是几年前自己开发的app,几年后再用竟然配置不了。。。为此,写下本博客记录一下配置旧项目的过程。

 

首先将项目下载下来并且放到工程目录下。再用android studio直接打开项目。

然后就开始配置

 好像打开错了hhh,下一级才对

首先显示的好像是SDK位置出错

 那就用目前的位置好了。

然后发现java不对

以及报错

通常是因为android升级或者第一次导入老项目,由于gradle不匹配引起的,只需要修改适配版本的gradle就能解决问题。
因此更改一下适配的gradle

 

修改对应的gradle版本,点击确认即可

 那根据提示就是用7.2试试

 

好像warning还不少。。。

报错显示NDK

试试把NDK side by side下载一下?

 android studio 如何下载指定版本的NDK_android ndk下载_Alex老夫子的博客-CSDN博客

非常关键的一步,默认情况下选项的子项未展开,所以需要勾选右下角 “Show Package Detail” ,如图:

 

 

 应该有了,版本也对

重新看project structure好像ndk部分是空的,那就下载一下吧

 然后也有显示了

 

NDK does not contain any platforms问题解决_LittleRich的博客-CSDN博客

 在local.properties 中手动添加本地ndk.dir路径

sdk.dir=C\:\\Users\\gwpsc\\AppData\\Local\\Android\\Sdk
ndk.dir=C\:\\Users\\gwpsc\\AppData\\Local\\Android\\Sdk\\ndk-bundle

好像可以了。。。。

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:_丁氏开发工作室的博客-CSDN博客

然后编译一下,看看能否安装app到手机上

还是报错

 这应该是属于运行报错不是配置报错

应该是JDK17需要模块化。通过在gradle.properties(项目根目录下可以找到)中设置

#JDK为了方便兼容原来没有使用模块化的项目,提高了一些配置
org.gradle.jvmargs=-Xmx1536M \
--add-exports=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.io=ALL-UNNAMED \
--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED\
--Xmx2048m -Dfile.encoding=UTF-8

Unable to make field private final java.lang.String java.io.File.path accessible: module java.base_一个不安分的程序员的博客-CSDN博客

最终编译成功可以安装:

猜你喜欢

转载自blog.csdn.net/gwplovekimi/article/details/132097542