【问题标题】:IntelliJ Idea Android Projects including un-watned files in apkIntelliJ Idea Android 项目,包括 apk 中的 un-watned 文件
【发布时间】:2023-03-31 19:57:02
【问题描述】:

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

主要项目

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

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

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

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

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

我正在使用 IntelliJ Idea 11.1.2 和 android r20

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

【问题讨论】:

  • confluence.jetbrains.net/display/IDEADEV/IDEA+11.1+EAP 提供的 11.1.3 RC 是否会发生这种情况?你能分享一个小的孤立的测试用例项目来重现这个问题吗?
  • 我会试一试,然后回复你。
  • 用示例项目更新了问题。我也尝试了 EAP 并得到了相同的结果。我认为这与 /libs 文件夹有关,或者只是我添加依赖项的方式,但我似乎找不到一个有效的组合,也没有在构建时内置到 apk 中。

标签: android build intellij-idea


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-07-05
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多