【问题标题】:Regarding calling Resources in jar file Android?关于在 jar 文件 Android 中调用资源?
【发布时间】:2013-09-03 02:40:52
【问题描述】:

我正在处理一个内部包含 .JAR 文件和我的代码的库项目。

我想为所有项目(包括可绘制对象)创建一个 JAR 文件。我能够在 Eclipse 的 FatJar 插件的帮助下做到这一点。我在 JAR 文件代码中将资源称为 R.drawable.icon

现在的问题是我想在创建通知时使用这些可绘制对象。

例如:

Notification notification = new Notification(icon, tickerText, when);

这里的图标是一个整数 ID,必须在 JAR 文件本身中。我不希望 drawable 出现在将使用该库的应用程序中。

我看过这篇文章 Packaging drawable resources with a JAR? 但无法描述任何解决方案。

请提供任何相同的建议。

谢谢。

【问题讨论】:

    标签: android jar executable-jar


    【解决方案1】:

    您不能将 Android 资源打包到 JAR 中。

    欢迎您切换到the work-in-progress Gradle-based build system 并将您的库打包为AAR 文件,该文件可以包含资源。

    【讨论】:

    • 我在 Eclipse 中使用 FatJar 插件在可运行 JAR 中添加了一个 res 文件夹。我在给他们打电话时遇到问题。如果我提取 JAR,我可以看到所有资源。但是没有 .R 文件可以从中使用它们。如果我将该项目用作库项目,一切正常。
    • @PrabhjotSingh:那是因为你不能将 Android 资源打包到 JAR 中。
    • 这是一个可运行的 JAR。我正在寻找任何可行的解决方案。
    • @PrabhjotSingh:“它是一个可运行的 JAR”——在 Android 应用程序开发中没有这样的概念。 “我正在寻找任何可行的解决方案”——欢迎您切换到正在进行的基于 Gradle 的构建系统并将您的库打包为 AAR 文件,该文件可以包含资源。或者,将资源与 JAR 一起发送到仅包含二进制文件的 Android 库项目中(就像 Google 使用 Play Services SDK 所做的那样)。
    • 感谢您的帮助。我将按照链接中提供的方式将项目打包为“AAR 文件”。
    【解决方案2】:

    我可以建议你阅读 J.J.金的回答在这里。我想这就是你想要的。请注意,这是一个 hack(一个整洁的)

    Packaging Android resource files within a distributable Jar file

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      相关资源
      最近更新 更多