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

项目成功运行。

相关推荐
刘大猫.40 分钟前
重塑经典:Snapseed4.0全面登陆安卓,内置“胶片相机”与专业手动模式
android·数码相机·ai·机器人·大模型·算力·snapseed4.0
Languorous.40 分钟前
MySQL聚合查询:COUNT、SUM、AVG用法,实战案例演示
android·数据库
沅霖1 小时前
Android Studio Java工程开发环境,怎么切换到Kotlin开发环境
android·kotlin·android studio
largecode1 小时前
企业名称能在来电显示吗?号码显示公司名服务打通多终端展示
android·xml·ios·iphone·xcode·webview·phonegap
龙之叶1 小时前
Android 12:从 Editor 到 FloatingToolbar 全局收敛长按菜单
android
Kapaseker1 小时前
Kotlin SharedFlow 的三个参数到底有啥用
android·kotlin
DogDaoDao1 小时前
Android MediaCodec 全面详解:从入门到精通
android·音视频·实时音视频·视频编解码·短视频·视频直播·mediacodec
重生之小比特2 小时前
【MySQL 数据库】用户管理与权限控制
android·数据库·mysql
御水流红叶2 小时前
Android-Unity游戏逆向思路
android·游戏·unity
刮风那天2 小时前
Android 验证进程优先级设置是否成功
android