如何在Android Studio中包含来自其他模块的string

我想通过Android Studio从Eclipse转换我的项目。 我的主要项目是使用Jira Mobile Connect for Android作为模块。

我的主项目AndroidManifest.xml有一个模块项目中的string引用(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移动连接模块具有以下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'] } } } 

Solutions Collecting From Web of "如何在Android Studio中包含来自其他模块的string"

您将要在Android Studio中设置其他模块。 通过确保子模块具有build.gradle,您可以在主项目的settings.gradle中提到项目名称,并将子模块设置为主项目的build.gradle中的依赖项。 在项目组装完成时(AssembleResources精确地)完成所有的工作,所有strings.xml文件将被合并成一个,并且你的子模块中定义的所有string都将被引入。