android - 在 Android Studio 中使用另一个模块的源代码进行编译

标签 android intellij-idea android-studio

在 Android Studio 中,我有一个 Android 项目,其中包含一个名为 go 的模块,将 Gradle 设置为一个 Android 库。它包含一个名为 com.nwoods.go 的 Java 包。为了这个 Stack Overflow 提交,它包含一个名为 FooBar 的类

在同一个 Android 项目中,我有一个名为 ugurdemo1 的应用程序模块,它在包 com.nwoods.ugurdemo1 中有一个 MainActivity 类。

Android Studio 我修改了模块 ugurdemo1 的项目结构,使其在编译时依赖库 go。在 ugurdemo1 的 MainActivity 中,我想引用和使用 go 中的类 FooBar。为此,我在类前面加上了典型的 Java 导入语句:

   import com.nwoods.go.FooBar;
   ... 
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FooBar myFooBarObject = null; 

在对我的源代码进行干净重建后,Android Studio 仍然无法解析 FooBar 的符号。 Stack Overflow 上的类似问题已通过在“依赖项”对话框中编辑编译时间设置得到解决,但同样不起作用。如果有任何帮助,我目前正在运行 Android Studio IO Preview (0.3.6)

最佳答案

听起来您做对了,但为了确认,这是一个项目结构依赖项面板的屏幕截图,您可以使用它在 Gradle 中设置模块依赖项:

Screenshot of Android Studio Project Structure dialog

此模块已经依赖于通过 Maven 样式导入检索到的两个库,并且它还依赖于 Foo 模块。要添加新的依赖项,请单击底部的 + 按钮并选择依赖项类型(如图所示)。

您还可以手动编辑 Gradle 构建文件。在我的示例中,“two”模块目录中有一个 build.gradle 文件。它有一个看起来像这样的 dependencies block :

dependencies {
    compile 'com.android.support:support-v4:+'
    compile 'com.android.support:appcompat-v7:+'
    compile project(':Foo')
}

您可以添加更多的compile project行来添加新的模块依赖;使用冒号分隔的语法提供模块相对于项目根目录的位置。

如果您手动编辑 build.gradle 文件,完成后点击工具栏中的“Sync Project with Gradle Files”按钮,让 Android Studio 重新读取文件并获取您的更改。

关于android - 在 Android Studio 中使用另一个模块的源代码进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20154698/

相关文章:

拖放 UI 元素时 Android Studio 挂起

Android Gradle DexException : Multiple dex files define Lorg/hamcrest/Description

Android:移动多个对象

java - Android WebView 按钮激活奖励广告

android - 将 Android Studio 的工具栏图标更改为更大的图标并添加标签

java - Main 方法适用于 java,但不适用于 scala

android - DialogFragment 类型中的方法 show(FragmentManager, String) 不适用于参数 (FragmentTransaction, String)

android - 三星 galaxy 5 mp3 播放器作为开发设备

linux - IntelliJ 的字体选择对话框没有出现字体

Android设备监视器: what is the syntax to filter rows by multiple tags?