Android 上的 Akka 多参考.conf

     2023-04-15     125

关键词:

【中文标题】Android 上的 Akka 多参考.conf【英文标题】:Akka on Android multiple reference.conf 【发布时间】:2014-10-24 16:18:17 【问题描述】:

我正在尝试将 akka 和 spray 添加到我的 android 应用程序(用 Scala 和 Scalaid lib 编写)。一切都应该正常,我的 ide 没有抛出任何错误。我发现一些链接解决了同样的问题,但到目前为止没有任何帮助。当我构建我的项目时:

sbt ~android:install

当我的 build.sbt 中有以下行时

apkbuildExcludes in Android += "reference.conf"

我得到了错误

08-31 08:02:45.598    7884-7884/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: at.itn.android, PID: 7884
    com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka'

没有它

[info] Generating dex, incremental=true
com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK reference.conf
    File 1: /home/markus/.ivy2/cache/com.typesafe.akka/akka-actor_2.11/jars/akka-actor_2.11-2.3.5.jar
    File 2: /home/markus/.ivy2/cache/com.typesafe.akka/akka-actor_2.11/jars/akka-actor_2.11-2.3.5.jar

我没有任何reference.conf(我也试过reference.conf https://github.com/akka/akka/blob/master/akka-actor/src/main/resources/reference.conf)

这是我的 build.sbt

android.Plugin.androidBuild

name := "myApp"
scalaVersion := "2.11.0"

proguardCache in Android ++= Seq(
  ProguardCache("org.scaloid") % "org.scaloid"
)

proguardOptions in Android ++= Seq(
  "-dontobfuscate",
  "-dontoptimize",
  "-dontwarn scala.collection.mutable.**",
  "-ignorewarnings",
  "-keep class scala.Dynamic"
)

apkbuildExcludes in Android += "reference.conf"

libraryDependencies ++= 
  Seq(
    "org.scaloid" %% "scaloid" % scaloidV,
    "com.typesafe.akka" % "akka-actor_2.11" % akkaV
    // ....
  )

有人可以告诉我如何让akka在android上运行吗?

【问题讨论】:

【参考方案1】:

我有一个在 android 上使用 akka 和 spray 的工作示例。看看这个。 https://github.com/anjeikatkov/android-akka-spray-example

希望,它会有所帮助。

【讨论】:

非常感谢!我花了几个小时来解决这个问题。有了你的示例代码,我终于设法让它工作了【参考方案2】:

我刚才在 scala-on-android 邮件列表中描述了一个解决方案。这是链接:https://groups.google.com/d/msg/scala-on-android/JwMQCtC2zCs/rHHg4BU55W0J。

TL;DR:主要问题似乎是错误的类加载器(您应该在 logcat 中看到警告)。我在应用程序中预加载了配置:

class MyApplication extends Application 
  ...
  val config = ConfigFactory.load()
  ...

并且还明确地将 ActorSystem 指向正确的类加载器:

val app = getApplication.asInstanceOf[MyApplication] 
val actorSystem = ActorSystem("MyActorSystem", app.config, app.getClassLoader)

希望有帮助

【讨论】:

【参考方案3】:

您应该将 akka 存储库中的“reference.conf”文件放入项目的 /src/main/resources 目录中。

【讨论】:

我的reference.conf所在的位置 那么,您的reference.conf 文件中是否有akka 配置条目? (对不起,如果这听起来很傻,但我最近实际上遇到了同样的问题,我很简单地解决了它,正如我在上面的答案中描述的那样) 一开始我没有任何reference.conf 文件。由于我收到此错误,我从以下位置添加了整个文件:github.com/akka/akka/blob/master/akka-actor/src/main/resources/… 我现在不需要任何配置,我只想让我的项目使用 akka 运行。你是怎么解决的? reference.conf 中的任何特定条目? 好吧,当我遇到这个问题(构建期间出现 DuplicateFileException)时,我实际上做了以下事情:1)在我的 build.scala 中的 apkBuildExcludes 中添加了“reference.conf”,2)放置了“reference.conf “从 akka repo 到我的资源目录。而且,据了解,akka config 的版本号和 porject 依赖项中 akka 的版本号必须相同。 如果它没有帮助,稍后,我可以与你分享一个基于 akka 的最小 scaloid 项目。【参考方案4】:

只求一个完整的答案:

android-sdk-plugin 接受的目录布局似乎有三种:

    蚂蚁 分级 包裹

我找到的所有答案都表明我应该将我的 reference.conf 文件放在 $BASE/src/main/resources/ 上。但是看看ProjectLayout.scala,我们可以看到这个建议只在 Gradle 布局中真正有效。

在我的项目中,插件使用的是 Ant 布局,所以应该放在 $BASE/resources/ 上

【讨论】:

安卓上的阿卡

】安卓上的阿卡【英文标题】:AkkaonAndroid【发布时间】:2014-11-1511:19:06【问题描述】:我在android上运行akka时遇到问题。一旦我启动它,我的应用程序就会崩溃。我使用Akka2.3.5,Scoid3.5-10。我的SignInActivity以开始privateimplicitvalsyste... 查看详情

Web 服务器 getFromFile 上的 akka-http 在刷新时导致 404s

】Web服务器getFromFile上的akka-http在刷新时导致404s【英文标题】:akka-httponwebservergetFromFileresultsin404sonrefresh【发布时间】:2018-07-1515:32:59【问题描述】:我将akka-http用于基于React的单页应用程序的Web服务器,并且在刷新我的网站时... 查看详情

scala笔记整理:actor和akka(代码片段)

...多线程编程的性能。Spark中使用的分布式多线程框架,是Akka,是Scala的一种多线程的类库。Akka也实现了类似ScalaActor的模型,其核心概念同样也是Ac 查看详情

scala笔记整理:actor和akka(代码片段)

...多线程编程的性能。Spark中使用的分布式多线程框架,是Akka,是Scala的一种多线程的类库。Akka也实现了类似ScalaActor的模型,其核心概念同样也是Ac 查看详情

csharp使用akka.net对事件进行分区(linqpad-参考akka.net和rx-main)(代码片段)

查看详情

csharp使用akka.net对事件进行分区(linqpad-参考akka.net和rx-main)(代码片段)

查看详情

scala框架akka学习(代码片段)

...应用程序的工具包,支持Java和Scala语言。Akka是基于JVM上的Actor模型实现的, 查看详情

使用 akka 演员休眠

】使用akka演员休眠【英文标题】:Hibernateusingakkaactors【发布时间】:2016-03-1014:22:27【问题描述】:我想使用akkaactor读取和处理整个帐户表。我们有一个多线程参与者框架,目前使用读取数据“块”的简单jdbc查询来执行此操作。... 查看详情

使用akka构建集群

概述  Akka提供的非常吸引人的特性之一就是轻松构建自定义集群,这也是我要选择Akka的最基本原因之一。如果你不想敲太多代码,也可以通过简单的配置构建一个非常简单的集群。本文为说明Akka集群构建的学习成本低廉,以... 查看详情

r语言使用yardstick包的conf_mat函数计算多分类(multiclass)模型在每个交叉验证(或者重采样)的每一折fold上的混淆矩阵并使用summary输出每个fold的其它详细指标

R语言使用yardstick包的conf_mat函数计算多分类(Multiclass)模型在每个交叉验证(或者重采样 查看详情

Akka:跨参与者实例共享状态

...017:01:41【问题描述】:我的MyProcessingActoractor将使用实体ID上的ConsistentHashingRouter进行路由,这样在任何时候(跨多个线程)都可能有该actor的多个实例在处理中actor使用地图来执行一些计算逻辑。因此,2个不同的actor实例 查看详情

akka.net性能测试兼使用小技巧

最近想研究一下分布式开发,先拿了akka.net跑一下性能参考自己写个网络实现,一般在本机通讯,300M每秒的传输率,作为参考嗯,先说结果,用Akka.net直接发bytearray,最后也只有40M每秒的传输率。所以高性能场合不适用。另外akka... 查看详情

Backstack上的Android Fragments占用太多内存

】Backstack上的AndroidFragments占用太多内存【英文标题】:AndroidFragmentsonBackstacktakinguptoomuchmemory【发布时间】:2015-04-1313:12:48【问题描述】:问题:我有一个Android应用程序,它允许用户浏览到用户的个人资料ViewProfileFragment。在ViewPr... 查看详情

android 上的 SQLite 数据库、多线程、锁和帐户同步

】android上的SQLite数据库、多线程、锁和帐户同步【英文标题】:SQLitedatabase,multithreading,Locksandaccountsynconandroid【发布时间】:2013-07-1702:02:09【问题描述】:我正在尝试获得一种模式,该模式不会因多线程访问我的sqlite数据库而失... 查看详情

初见akka-01

  最近在学习akka,在看rpc相关的东西,有点脑子疼,哈哈  1.需求:    目前大多数分布式架构底层通信是通过RPC实现的,RPC框架非常多,    比如我们学过的Hadoop项目的RPC通信框架,但是Hadoop在设计之初就    ... 查看详情

跨 Akka 集群同步数据的简单方法?

...我有一些运行时数据希望存在于我的Akka集群中每个节点上的指定参与者上,这些数据可以通过内部事件或对单个节点的API调用进行更新。我可以将此数据存储在共享数据库中以使其永久化,但我宁愿将其存储在内存中以提高速... 查看详情

初见akka-02:rpc框架

...单点说,就是多线程之间的通信,我们今天用了scala以及akka   来简单的实现了   rpc框架的一些简单的内容,一脸包括了,心跳,间隔时间,   注册以及一些问题,   模式匹配的一些东西,虽然比较简单,但是属... 查看详情

Android 和 iOS 上的本地存储有多持久?

】Android和iOS上的本地存储有多持久?【英文标题】:HowpermanentislocalstorageonAndroidandiOS?【发布时间】:2011-12-0617:49:39【问题描述】:当我的应用在手机上本地存储数据时,该存储的持久性如何?我会详细说明具体情况:我正在使... 查看详情