Android Studio 库“错误:包不存在”
Posted
技术标签:
【中文标题】Android Studio 库“错误:包不存在”【英文标题】:Android Studio library "error: package does not exist" 【发布时间】:2014-12-12 21:49:54 【问题描述】:我创建了 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'
附:不得不提的是,该项目是从 Eclipse IDE 导出的,所以项目结构与默认结构不同。
【问题讨论】:
【参考方案1】:适用于 Android Studio 2.2.2
是的,在库模块中,不能在模块定义中使用apply plugin: com.android.application
语句,是的,使用apply plugin: com.android.library
代替。 (仍在 lib 模块中)
但是你必须执行以下操作:
-
在两个模块的 Gradle 文件中公开相同的 SDK 版本。
右击你的项目“app”模块文件夹并点击->打开模块设置
点击“依赖”标签
点击+号添加新的依赖并选择“Module Dependency”
查找您需要的库并添加它。
同时命名你的 lib 模块时避免大写。
【讨论】:
【参考方案2】:如果你有一个库模块,它就不能在模块定义中使用apply plugin: 'com.android.application'
语句,否则构建会像你看到的那样默默地失败。请改用apply plugin: 'com.android.library'
。
已经提交了一个错误,要求构建系统在发生这种情况时大声而不是静默失败:https://code.google.com/p/android/issues/detail?id=76725
【讨论】:
错误:(2, 0) 未找到 ID 为 'com.android.library' 的插件。 嗯,这个错误发生在我的库模块中。它不使用apply plugin: 'com.android.application'
正确答案。【参考方案3】:
上面的答案有些欠缺 如果你在 Kotlin 中项目 java add 得到这个错误
工具选项卡 Kotlin 和配置 Kotlin (使用 Gradle 选择 Android)在使用 Modules 选择后项目 build.gradle 添加
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'
科特林
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
参考:https://medium.com/mindorks/enabling-kotlin-support-for-a-current-only-java-android-project-98c75e04384a
【讨论】:
注意'kotlin-android'
应该在'kotlin-android-extensions'
之前应用【参考方案4】:
在 build-gradle 应用中,添加这一行:
implementation project(":your_name_library_here")
【讨论】:
【参考方案5】:当您更改包名称并尝试运行代码时会发生此错误。发生这种情况是因为 android studio 仍然有旧名称的包的缓存。
此外,交叉检查代码中的所有导入以及导入的包,以确保不存在不同的包名称。例如,此错误通常是指发生错误的位置附近的另一个导入文件。检查附近以前的进口。
要修复此错误,您可以尝试从 android studio 的“文件”菜单中执行“无效缓存/重新启动”选项。选择“Invalidate and restart option”并关闭 Android Studio。
此错误的另一个原因是当人们更改项目的路径根文件夹或它所依赖的任何模块时。在这种特殊情况下,要修复此错误,您需要删除受影响的模块,然后重新添加它们。接下来不要忘记从 android studio 的 File 菜单中执行“invalidate caches / Restart”选项。选择“Invalidate and restart option”并关闭 Android Studio。
从 android studio 中清理您的项目:
“构建 -> 清理项目”。这将清除您的构建文件夹。 从项目的根目录中删除 .gradle 目录。它包含一些 Gradle 缓存文件。 同时删除 .idea 目录(之前进行备份)。它包含一些项目配置文件。重启 Android Studio。
终于
如果错误仍然存在,您需要将受影响的文件移动到项目根文件夹的外部目录。在 Android Studio 上,像以前一样手动创建每个文件名,然后从旧文件中复制其中的代码。 这将彻底解决此错误。
【讨论】:
【参考方案6】:如果您在使用 Kotlin 时遇到此问题并拥有
kotlin.incremental=true
kapt.incremental.apt=true
在 gradle.properties 中,然后您需要暂时删除它以修复构建。
构建成功后,您可以在使用 Kotlin 时再次添加这些属性以加快构建时间。
参考:https://***.com/a/58951797/3948854
【讨论】:
以上是关于Android Studio 库“错误:包不存在”的主要内容,如果未能解决你的问题,请参考以下文章
当尝试 mvn clean install -> 出现错误包不存在
Jar存在于本地Maven仓库中,但仍然编译错误“包不存在”
如何建立与 Android studio和 gradle android 库