3

我必须在另一个项目中使用我的 android 库项目(它有资源)。这是我到目前为止所做的:

  1. 在 Android Studio 中创建了一个库项目。构建该项目,因此生成 .aar 文件,如下所示:..\MyApplication\mylibrary\build\outputs\aar\mylibrary-debug.aar

  2. 在 Android Studio 中创建了一个新的 Android 项目。然后,我遵循了这个

    文件 >> 新模块 >> 导入 .JAR 或 .AAR 包

这为我的项目提供了以下结构:

在此处输入图像描述

gradle sync 或我制作项目时没有任何错误。

但是现在,如果我尝试使用我的库项目的类名,它不会显示在自动建议中。我的图书馆项目中有一个班级MyClass.java。在 IDE 中,如果我尝试编写MyC,我无法看到MyClass. 它显示没有建议

在此处输入图像描述

我错过了一些配置吗?

如果您需要与文件夹结构或文件相关的其他信息,请告诉我build.gradle

4

1 回答 1

0

这个替代方案(学分归 Dwayne)对我来说似乎很好用。总结:

  • 声明您的平面文件存储库。此存储库声明位于项目模块中的 gradle.build 文件中,而不是父目录中的顶级 gradle.build 文件中:

    repositories{
       flatDir {
         dirs 'libs'
       }
    }
    
  • 将 mylibrary-release.aar 或 mylibrary-debug.aar 复制..\MyLibraryProject\mylibrary\build\outputs\aar\到应用程序模块中的 libs 文件夹中..\MyApplicationProject\app\libs

  • 声明你对库的依赖。

    dependencies {
       compile 'com.example.library:mylibrary:release@aar'
    }
    

请注意,“平面文件”存储库会忽略依赖声明的命名空间部分(com.example.library),而依赖声明中的命名空间不正确不会影响任何事情,您应该确保命名空间正确,以防您移动到以后的图书馆存储库。


另一种选择可能是创建一个本地 Maven 存储库,如此所述,但我没有尝试过这个选项。

于 2015-02-25T12:18:36.817 回答