Android Studio库“错误:包不存在”

qrjkbowd  于 2023-06-04  发布在  Android
关注(0)|答案(7)|浏览(439)

我已经创建了Android库作为Android Studio模块。作为依赖添加到我的根模块。在编码时,我可以从库包中导入任何类,但当我尝试运行应用程序时,我得到一个错误package some.mylibrary.project does not exist

build.gradle根模块

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}
apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.google.android.gms:play-services:5.+'
    compile project(':libraries:mylibrary')
}

android {
    compileSdkVersion 17
    buildToolsVersion "20.0.0"

    lintOptions {
        disable 'InvalidPackage'
        checkReleaseBuilds false
        abortOnError false
    }

    ***
}

build.gradle库模块

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'idea'

android {
    compileSdkVersion 17
    buildToolsVersion "20.0.0"

     *****    
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

settings.gradle

include ':libraries:mylibrary'

P.S.我不得不提的是,这个项目是从Eclipse IDE导出的,所以项目结构与默认结构不同。

6g8kf2rb

6g8kf2rb1#

适用于Android Studio 2.2.2

是的,在库模块中,它不能使用apply插件:模块定义中的com.android.application语句,是的,使用apply plugin:com.android.library代替。(仍在lib模块中)
但接下来你必须做以下事情:
1.在两个模块的Gradle文件中公开相同的SDK版本。
1.右键点击你的项目“应用程序”模块文件夹,然后点击->打开模块设置
1.点击“dependencies”选项卡
1.单击+号添加新依赖项并选择“模块依赖项”
1.查找您需要的库并添加它。
另外,在命名你的库模块时,避免使用大写字母。

gmxoilav

gmxoilav2#

如果你有一个库模块,它不能在模块定义中使用apply plugin: 'com.android.application'语句,否则构建将像你看到的那样默默失败。使用apply plugin: 'com.android.library'代替。
已经提交了一个bug,要求在发生这种情况时,构建系统会大声失败而不是默默失败:https://code.google.com/p/android/issues/detail?id=76725

nbnkbykc

nbnkbykc3#

上面的答案有些欠缺如果你在Kotlin中进行java项目添加,会得到这个错误

  • 工具选项卡Kotlin和配置Kotlin
  • (选择Android with Gradle)在选择with Modules之后
    Project build.gradle add
ext.kotlin_version = ‘1.3.21’
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

Apps build.gradle

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-android'

Kotlin

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

参考号:https://medium.com/mindorks/enabling-kotlin-support-for-a-current-only-java-android-project-98c75e04384a

xqk2d5yq

xqk2d5yq4#

当您更改包名称并尝试运行代码时,会发生此错误。这是因为android studio仍然拥有旧名称的包该高速缓存。
此外,交叉检查所有导入以及代码中导入的包,以便不存在不同的包名称。例如,通常此错误引用的是发生错误的位置附近的另一个导入文件。查看附近的以前的导入。

要修复此错误您可以尝试在android studio中的文件菜单中执行“无效缓存/重新启动”选项。选择“Invalidate and restart option”并关闭Android Studio。

此错误的另一个原因是,当一个更改项目的路径根文件夹或它所依赖的任何模块。在这种特殊情况下,要修复此错误,您需要删除受影响的模块,然后重新添加它们。接下来,不要忘记在android studio中的文件菜单中执行“无效缓存/重新启动”选项。选择“Invalidate and restart option”并关闭Android Studio。

从android studio清理项目:

  • “Build -> Clean Project”。这将清除您的构建文件夹。
  • 从项目的根目录中删除.gradle目录。它包含一些Gradle缓存文件。
  • 同时删除.idea目录(之前做备份)。它包含一些项目配置文件。

重新启动Android Studio。

终于

如果错误仍然存在,您需要将受影响的文件移动到项目根文件夹的外部目录。在Android Studio上,像以前一样手动创建每个文件名,并从旧文件中复制代码。这将解决此错误。

a9wyjsp7

a9wyjsp75#

在build-gradle app中,添加此行:

implementation project(":your_name_library_here")
8e2ybdfx

8e2ybdfx6#

如果您在使用Kotlin时遇到此问题,并且

kotlin.incremental=true
kapt.incremental.apt=true

gradle.properties中,则需要临时删除此内容以修复构建。
成功构建后,您可以再次添加这些属性,以加快使用Kotlin时的构建时间。
参考:https://stackoverflow.com/a/58951797/3948854

63lcw9qa

63lcw9qa7#

在我例子中,kotlin-android插件在modulbuild.gradle文件中丢失

// Inside each module using kotlin
plugins {
    ...
    id 'kotlin-android'
}

请参阅将Kotlin添加到现有应用程序文档中的更多详细信息

相关问题