Android 在不同计算机上打开项目(然后在第一台计算机上重新打开)后出现多个错误

Android 在不同计算机上打开项目(然后在第一台计算机上重新打开)后出现多个错误,android,Android,昨天,我在另一台计算机上打开了Android项目(文件在我的onedrive上,所以我从未“移动”过这些文件),以便向某人展示该项目 现在我在我的实际电脑上重新打开了这个项目,产生了很多错误(见图)。这个项目以前运作良好 它们都是windows电脑。 我尝试重新同步gradle并重建项目,但问题仍然存在。我做错了什么,更重要的是:如何修复它(我对Android非常陌生) 奇怪的是,我仍然可以毫无错误地运行应用程序 有什么建议吗?您缺少依赖项 从外观上看,您缺少Android支持依赖项和 截击 确

昨天,我在另一台计算机上打开了Android项目(文件在我的onedrive上,所以我从未“移动”过这些文件),以便向某人展示该项目

现在我在我的实际电脑上重新打开了这个项目,产生了很多错误(见图)。这个项目以前运作良好

它们都是windows电脑。 我尝试重新同步gradle并重建项目,但问题仍然存在。我做错了什么,更重要的是:如何修复它(我对Android非常陌生)

奇怪的是,我仍然可以毫无错误地运行应用程序


有什么建议吗?

您缺少依赖项

从外观上看,您缺少Android支持依赖项和 截击

确认build.gradle有适当的库引用和repo来拉取它,并且新机器也安装了sdk

如果您使用的是pre-28,我希望在您的父项目gradle中看到

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71' //if using kotlin
        classpath 'com.google.gms:google-services:4.1.0' //if using google services
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven {url 'https://maven.google.com/'} //older android studio
        maven { url "https://jitpack.io" } //post api 28 needed
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
然后,在应用程序级别build.gradle中,如果您是post API 28,您应该具有依赖项以获取截取和支持库,如以下示例所示: 注意*如果您是28岁之前的孩子,请将名称空间更新为非androix路径

dependencies {
   implementation 'com.google.firebase:firebase-crash:16.2.1' //crash reporting

   //to compile @synchronized things and java references
   implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.0"

   //Android ui support
   implementation 'com.google.android.material:material:1.0.0'
   implementation 'androidx.appcompat:appcompat:1.0.2'
   implementation 'androidx.legacy:legacy-support-v4:1.0.0'
   implementation 'androidx.cardview:cardview:1.0.0'
   implementation 'androidx.recyclerview:recyclerview:1.0.0'
   implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
   //Networking
   implementation 'com.android.volley:volley:1.1.1'

   // [START firebase]
   implementation 'com.google.firebase:firebase-core:16.0.5'
   implementation 'com.google.firebase:firebase-messaging:17.3.4'
   implementation 'com.google.firebase:firebase-appindexing:16.0.2'
   implementation 'com.google.android.gms:play-services-base:15.0.2'
   // [END   firebase]

   implementation 'com.crashlytics.sdk.android:crashlytics:2.9.6'
}
然后,无论何时在新机器上打开,只要检查SDK路径是否准确即可。例如,不应将local.properties签入repo,因为它具有用于“本地”属性的硬编码路径

接下来,确保菜单中的SDK路径良好,它是包含3个蓝色小方块的文件夹:

如果所有这些都是好的,那么做一个build.clean和rebuild,看看这是否让你清醒。如果您仍然有问题,可以尝试

文件->使缓存无效并重置

最后,如果这仍然不起作用,您可能会有构建缓存问题,因此请删除所有iml文件、idea文件、构建文件夹,并仅从代码中导入新的项目。我猜您正在将项目的物理文件夹从一台计算机复制到另一台计算机,这可能会导致问题

希望有帮助


愉快的编码。

您是否尝试过清理项目(Build->clean project)并在之后重建?不幸的是,这对我不起作用。同样的问题一直存在到文件->将项目与渐变文件同步,请查看是否有效:)