android studio导入外部项目

问题

这里是为了导入教材的项目,其中该教程代码使用Android studio2019编写,本人使用的是Android studio 2023。

在Android studio中直接导入其他人写的项目时,由于路径原因会出现问题,无法构建项目,我这里报错是:

text 复制代码
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin [id 'com.android.internal.application']

解决

首先在项目文件夹中删除.gradle.idea文件夹。

接着打开Android studio ,选择导入项目

选中该项目后导入。如果提示

点击ok即可,该操作是修改项目下local.properties中sdk.dir设置,如果先修改就不会提示,不过android studio可以自动检查就没必要手动修改了。

接着可以在项目中看到build.gradle文件。

该文件是配置gradle和sdk版本,可以直接手动修改

bash 复制代码
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext {
        agp_version = '你的agp版本'
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
    //"$agp_version修改为gradle版本"
        classpath "com.android.tools.build:gradle:$agp_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

不过这里手动修改有点麻烦,而且可能出错。

这里推荐的是直接修改项目结构中agpgradle version属性,修改agp版本后文件build.gradle会被自动修改。(这里修改agp目的是为了自动更新该build.gradle文件)

修改好的agp版本的gradle 版本后如果出现下面对的问题,这是因为gradle版本不匹配只需要修改gradle版本,修改为推荐版本。上图中是7.2。在项目结构中修改后再次加载。发现成功构建

项目成功运行。

相关推荐
2501_9151063220 分钟前
全面理解 iOS 帧率,构建从渲染到系统行为的多工具协同流畅度分析体系
android·ios·小程序·https·uni-app·iphone·webview
繁星星繁29 分钟前
【Mysql】数据库基础
android·数据库·mysql
李坤林36 分钟前
Android 12 中 App 与 SurfaceFlinger(SF)的 Vsync 通信机制
android·surfaceflinger
高远-临客37 分钟前
unity IL2CPP模式下中使用UMP插件打包后无法播放视频监控报错问题解决方案
android·unity·音视频
装不满的克莱因瓶1 小时前
Windows下安装Dart
android·flutter·dart·移动端
Yao_YongChao1 小时前
adb wifi连接Android手机
android·adb·智能手机·无线连接手机·wifi连接手机
阿龙AI日记1 小时前
保姆级教程:Anaconda+Cuda+Torch+Pycharm配置指南
ide·pytorch·python·pycharm
安果移不动1 小时前
git Cherry-Pick合并分支上的某些commits-》Android studio
android·git·android studio
灵感菇_2 小时前
Android Broadcast全面解析
android·广播·四大组件
byc2 小时前
Android 存储目录<内部存储,外部存储app专属,外部存储公共>
android·面试