3

我有一个复杂的应用程序结构,主项目有 android 库,它们有自己的 android 库和 jars。

主要项目

    • Android Lib项目A
      • 罐子
      • Android Lib 项目 B
    • 罐子

为了澄清,我有一个具有 ActionBarSherlock 依赖项和 Facebook 依赖项的 android 库项目,我在几个类似的应用程序之间使用这个库项目。

在过去,我只能将库添加为依赖项,它只会构建与 android 相关的文件(src/res),但现在它包含了路径中的所有内容(测试、文档、示例文件夹、网站)。

我不确定发生了什么变化,但我的 apk 现在塞满了很多我不想要的文件,我不确定在哪里指定不包含它们。

注意:我不能只是“删除”不需要的文件的原因是因为我正在使用子模块克隆存储库。

我正在使用 IntelliJ Idea 11.1.2 和 android r20

更新: 这是我遇到的问题的示例项目:http: //dl.dropbox.com/u/713581/TestDependency.zip

4

1 回答 1

6

发生这种情况是因为您将模块保存在libs默认为本地库(通常是.so文件)设计的目录中。在构建项目时,libs目录中的所有文件都包含在目标apk文件中。

要解决此问题,请转到Project Structure,选择Test Dependency模块,打开Android facet 设置,将Native libs 目录设置更改为其他路径(例如libs_代替libs)。对TestLib模块重复相同的操作,重新构建项目。现在最终apk大小约为 486KB,libs不包括文件夹中的文件。

本机库目录

于 2012-07-20T01:28:20.760 回答