Android Studio库"错误:包不存在"

时间:2014-10-17 10:17:41

标签: android android-studio android-gradle

我已经将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导出的,因此项目结构与默认项目结构不同。

6 个答案:

答案 0 :(得分:13)

如果您有一个库模块,它不能在模块定义中使用apply plugin: 'com.android.application'语句,否则构建将在您看到时无声地失败。请改用apply plugin: 'com.android.library'

已经提交了一个错误请求构建系统在发生这种情况时大声失败而不是默默地发生错误:https://code.google.com/p/android/issues/detail?id=76725

答案 1 :(得分:13)

适用于Android Studio 2.2.2

是的,在库模块中,它不能在模块定义中使用apply plugin:com.android.application语句,是的,请使用apply plugin:com.android.library。 (仍在lib模块中)

但是你必须做以下事情:

  1. 在两个模块的Gradle文件中公开相同的SDK版本。
  2. 右键单击项目“app”模块文件夹,然后单击 - >打开模块设置
  3. 点击“依赖项”标签
  4. 单击+号以添加新的依赖关系,然后选择“模块依赖关系”
  5. 查找您需要的库并添加它。
  6. 同样,在命名lib模块时,请避免使用大写字母。

答案 2 :(得分:3)

上面的答案有些缺乏 如果您在Kotlin中添加Java项目,则会出现此错误

  • 工具标签Kotlin和配置Kotlin
  • 选择模块后
  • (使用Gradle选择Android)

项目build.gradle添加

ext.kotlin_version = ‘1.3.21’
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

应用build.gradle

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-android'

科特林

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

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

答案 3 :(得分:1)

在构建渐变应用程序中,添加以下行:

implementation project(":your_name_library_here")

答案 4 :(得分:0)

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

kotlin.incremental=true
kapt.incremental.apt=true
gradle.properties 中的

,那么您需要暂时将其删除以修复构建。

成功构建后,您可以再次添加这些属性以加快使用Kotlin的构建时间。

参考:https://stackoverflow.com/a/58951797/3948854

答案 5 :(得分:0)

当您更改包名称并尝试运行代码时会发生此错误。发生这种情况是因为 android studio 仍然拥有旧名称的包缓存。

此外,交叉检查代码中的所有导入以及导入的包,以便不存在不同的包名称。例如,此错误通常是指发生错误的位置附近的另一个导入文件。检查附近以前的进口。

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

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

从 android studio 清理你的项目:

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

重启 Android Studio。

终于

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