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。在项目结构中修改后再次加载。发现成功构建

项目成功运行。

相关推荐
Doro再努力6 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
Daniel李华7 小时前
echarts使用案例
android·javascript·echarts
做人不要太理性8 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
我命由我123458 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
骥龙8 小时前
第六篇:AI平台篇 - 从Jupyter Notebook到生产级模型服务
ide·人工智能·jupyter
朗迹 - 张伟8 小时前
Tauri2 导出 Android 详细教程
android
lpruoyu9 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
kun2003102910 小时前
如何用Obsidian+VSCode生成文案排版并发布到公众号
ide·vscode·编辑器
独自破碎E10 小时前
【BISHI15】小红的夹吃棋
android·java·开发语言
李堇13 小时前
android滚动列表VerticalRollingTextView
android·java