使用 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的主要内容,如果未能解决你的问题,请参考以下文章
使用 IntelliJ 在 Android 上用 Scala 编写的 LibGDX 项目
为基于打字稿的库在 package.json 类型字段中放置啥