Android 在主模块中找不到库模块中的包
我得到了一个从Eclipse导入到Android Studio的项目。在Eclipse中,一切都很顺利 它包含一个主模块(Eclipse中的一个项目),它使用库模块(Eclipse中的库项目)中的包。由于迁移不顺利,我手动创建了一个库模块,并将所有源代码复制到新创建的模块中 问题是主模块似乎没有从库模块中找到包,当我重建项目时,会出现类似“包bla-bla不存在”的错误 以下是主要模块gradle.build:Android 在主模块中找不到库模块中的包,android,android-studio,module,android-library,Android,Android Studio,Module,Android Library,我得到了一个从Eclipse导入到Android Studio的项目。在Eclipse中,一切都很顺利 它包含一个主模块(Eclipse中的一个项目),它使用库模块(Eclipse中的库项目)中的包。由于迁移不顺利,我手动创建了一个库模块,并将所有源代码复制到新创建的模块中 问题是主模块似乎没有从库模块中找到包,当我重建项目时,会出现类似“包bla-bla不存在”的错误 以下是主要模块gradle.build: apply plugin: 'com.android.application' a
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.pointer.mamagoose"
minSdkVersion 9
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile project(':linphoneclean')
compile 'com.android.support:support-v4:25.0.0'
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.google.android.gms:play-services:9.4.0'
compile files('libs/firebase-client-android-2.5.0.jar')
compile files('libs/apache-httpcomponents-httpclient.jar')
compile files('libs/apache-httpcomponents-httpcore.jar')
compile files('libs/android-support-v7-recyclerview.jar')
}
linphoneclean是库模块
整个项目的settings.gradle:
include ':linphoneclean'
include ':tigris'
这是库模块的build.gradle:
apply plugin: 'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
minSdkVersion 9
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.0'
testCompile 'junit:junit:4.12'
compile 'com.google.code.gson:gson:2.6.2'
compile files('libs/commons-lang3-3.4.jar')
compile files('libs/linphone.jar')
compile files('libs/firebase-client-android-2.5.0.jar')
}
库模块的结构包括例如文件夹:
src/main/com/pointer/linphone(里面有所有的java文件,减速为package com.pointer.linphone
,但是我仍然收到一个错误,说>“package com.pointer.linphone不存在”
我做错了什么?正确查看源文件包含java文件夹和res文件夹,在java包中添加java文件,在res文件夹中添加res。在清单文件中添加活动名称请参见此处,在Gradle文件中添加必要的库文件。在Android studio中清理并重建项目
在为同一个问题争论了几个小时后,以下是对我有效的方法 我创建了一个带有空白活动的新项目,添加了一个带有虚拟类的库模块,定义了依赖项。通过在应用程序中导入虚拟类验证了它的有效性。然后,我复制了真实项目中的所有相关代码
我的想法是,IDE的iml文件可能有问题,因为从头开始,复制内容会过度工作。也许您可以检查库的AndroidManifest是否正确定义了包,如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
package="com.pointer.linphone">
我可能在您的回答中遗漏了一些内容,但我的java文件当然在src文件夹中,资源在res文件夹中。据我所知,您没有为linphoneclean和tigris指定模块项目的路径。从我的回答中可以看出,您要求查看此问题设置。gradle首先包含两个内容“incluse…“模块的第二个路径。示例:include”:facebook“项目(':facebook')。projectDir=new File(settingsDir,../dependencies/FacebookSDK')是否找到了根本原因?我遇到了类似的问题:(.很抱歉,但是没有..在这种情况下,我有一个足够小的库,所以我只是将它添加到主项目中。我有一个确切的问题。我有一个工作项目,在几个月后在一个新系统中打开,该系统使用了较新版本的Android Studio。我尝试了清理/重建,但没有任何效果。为了测试这个,我创建了一个全新的项目。Crea一个公共库模块(具有google guava依赖项)在主应用程序项目中包含了公共模块。但是应用程序项目看不到任何guava包。这太疯狂了!在我问了这个问题这么久之后,我现在不会测试它,但因为它的唯一答案似乎是合乎逻辑的,我会接受它。