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博客
最终编译成功可以安装: