我已经将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导出的,因此项目结构与默认项目结构不同。
答案 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模块中)
但是你必须做以下事情:
同样,在命名lib模块时,请避免使用大写字母。
答案 2 :(得分:3)
上面的答案有些缺乏 如果您在Kotlin中添加Java项目,则会出现此错误
项目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"
答案 3 :(得分:1)
在构建渐变应用程序中,添加以下行:
implementation project(":your_name_library_here")
答案 4 :(得分:0)
如果您在使用 Kotlin 时遇到此问题,并且拥有
kotlin.incremental=true
kapt.incremental.apt=true
gradle.properties 中的,那么您需要暂时将其删除以修复构建。
成功构建后,您可以再次添加这些属性以加快使用Kotlin的构建时间。
答案 5 :(得分:0)
当您更改包名称并尝试运行代码时会发生此错误。发生这种情况是因为 android studio 仍然拥有旧名称的包缓存。
此外,交叉检查代码中的所有导入以及导入的包,以便不存在不同的包名称。例如,此错误通常是指发生错误的位置附近的另一个导入文件。检查附近以前的进口。
要修复此错误,您可以尝试从 android studio 的“文件”菜单中执行“使缓存无效/重新启动”选项。选择“无效并重新启动选项”并关闭 Android Studio。
此错误的另一个原因是,当更改项目的路径根文件夹或它所依赖的任何模块时。在这种特殊情况下,要修复此错误,您需要删除受影响的模块,然后重新添加它们。接下来不要忘记从 android studio 的文件菜单中执行“无效缓存/重新启动”选项。选择“无效并重新启动选项”并关闭 Android Studio。
从 android studio 清理你的项目:
重启 Android Studio。
终于
如果错误仍然存在,您需要将受影响的文件移动到项目根文件夹的外部目录。在 Android Studio 上,像以前一样手动创建每个文件名,并从旧文件中复制其中的代码。 这将坚决解决此错误。