使用 Scala 编写的库在 Android 应用上运行 Proguard

Posted

技术标签:

【中文标题】使用 Scala 编写的库在 Android 应用上运行 Proguard【英文标题】:Running Proguard on Android app with libs written in Scala 【发布时间】:2012-07-22 05:38:21 【问题描述】:

我有一个将用 Java 编写的 android 项目,但将使用一些用 Scala 编写的库。

我正在使用 AndroidProguardScala 插件来构建一个最小的 Scala 库,但它似乎没有考虑到我的项目中的 JAR 还需要包含一些 Scala API 的事实,导致应用程序失败这些方法被调用。

我错过了什么?

【问题讨论】:

在 jar 级别中包含的东西不像在包级别那样多。 你是如何在你的项目中包含这些 jars 的?只是将它们放在 libs 目录中,还是其他什么? 【参考方案1】:

您只需要将它们专门包含在您的 proguard.cfg 文件中。只需表明您要保留这些包。这就是它的全部内容。

【讨论】:

只要求保留那些你需要的包到 proguard.cfg 文件中。 我的 JAR 中的包还是实际的 Scala 包? 我没有 proguard.cfg 文件。 AndroidProguardPlugin 自动运行任务,配置文件似乎不可编辑。 我会看看 sbt android 插件 (github.com/jberkel/android-plugin) 使用的配置。这可能与您想要的最低限度相符。 如果您查看生成的 proguard_postprocessed.conf 文件,您应该会看到以“# Inserting file”开头的行,然后是文件名。您可以编辑该文件,它将被插入到最终配置中。 (如果你能想到一种方法让我更清楚,请在github.com/banshee/AndroidProguardScala/issues?state=open 提交错误)

以上是关于使用 Scala 编写的库在 Android 应用上运行 Proguard的主要内容,如果未能解决你的问题,请参考以下文章

如何将丰富我的库模式应用于 Scala 集合?

使用 IntelliJ 在 Android 上用 Scala 编写的 LibGDX 项目

为基于打字稿的库在 package.json 类型字段中放置啥

使用较新版本的jna库在Glassfish上运行Web应用程序

如何在 C++ 或 C 中创建和编写索引 png 图像

使用 altBeacon 库在 Android 中未显示所有信标