我正在尝试通过Android Studio从Eclipse转换我的项目。我的主要项目是使用Jira Mobile Connect for Android作为模块。
我的主项目AndroidManifest.xml引用了Module项目中的字符串(Eclipse中的库项目)。
<activity
android:name="com.atlassian.jconnect.droid.activity.FeedbackActivity"
android:label="@string/jconnect.droid.create_feedback" >
</activity>
我收到以下错误。
android-apt-compiler: [MyProject] C:\dev\projects\android\MyProject\AndroidManifest.xml:92: error: Error: No resource found that matches the given name (at 'label' with value '@string/jconnect.droid.create_feedback').
我可以从命令行运行“gradle assemble”而不会出错。
这是我的项目build.gradle文件。
buildscript {
println 'Running gradle.'
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project('../jiraconnect-android/jiraconnect-android-main')
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
我还有一个settings.gradle文件:
include ':MyHouse', '../jiraconnect-android/jiraconnect-android-main'
我的Jira Mobile Connect模块具有以下build.gradle文件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android-library'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 8
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
答案 0 :(得分:2)
您将要在Android Studio中设置其他模块。您可以通过确保子模块具有build.gradle来实现此目的,在主项目的settings.gradle中提及项目名称,并将子模块设置为主项目的build.gradle中的依赖项。完成项目组装完成后所做的一切(准确地说就是assembleResources),所有strings.xml文件将合并为一个,并且将引入子模块中定义的所有字符串。