This sort of thing generally works fine for me; I haven't encountered any missing resource exceptions in a similar configuration.
On Thu, Apr 17, 2014 at 1:07 PM, Samuel Tardieu <[email protected]> wrote: > I am trying to create a project with two sub-projects: one of them is an > apklib, the other one uses it (in the future, more applications will make > use of this library). The library has some string resources, and the > library contains an activity that references them. > > My project/Build.scala looks like this: > > import sbt._import sbt.Keys._import android.Keys._import > android.Dependencies.LibraryProject > object DropBuild extends Build { > > lazy val commonSettings = Seq( > scalaVersion := "2.10.4", > version := "0.1", > scalacOptions := Seq( > "-target:jvm-1.6", "-deprecation", "-feature" > ), > javacOptions ++= Seq( > "-source", "1.6", > "-target", "1.6"), > proguardCache in Android ++= Seq(ProguardCache("org.scaloid") % > "org.scaloid"), > proguardOptions in Android ++= Seq("-dontobfuscate", "-dontoptimize"), > libraryDependencies ++= Seq("org.scaloid" %% "scaloid" % "3.1-8-RC1", > "org.scala-lang" % "scala-library" % "2.10.1") > ) > > lazy val appSettings = android.Plugin.androidBuild(dropapi) ++ > Seq( > localProjects in Android += LibraryProject(dropapi.base), > run <<= run in Android, > install <<= install in Android > ) > > override lazy val settings = super.settings :+ { > shellPrompt := { > s => Project.extract(s).currentProject.id + "> " > } > } > > lazy val root = Project("root", file(".")) > .aggregate(dropapi, dropscanner) > > lazy val dropapi = Project("dropapi", file("DropAPI")) > .settings(android.Plugin.androidBuildApklib: _*) > .settings(commonSettings: _*) > .settings(name := "dropapi", > organization := "rose.dropsnroses.api") > > lazy val dropscanner = Project("dropscanner", file("DropScanner")) > .settings(commonSettings: _*) > .settings(appSettings: _*) > .settings(name := "DropScanner", > organization := "rose.dropsnroses.dropscanner" > ) > .dependsOn(dropapi) > } > > However, it looks like the resources are not merged properly, as the > strings defined in the library (dropapi) cause a “resource not found” > exception: > > E/AndroidRuntime(22370): FATAL EXCEPTION: main > E/AndroidRuntime(22370): Process: rose.dropsnroses, PID: 22370 > E/AndroidRuntime(22370): android.content.res.Resources$NotFoundException: > String resource ID #0x7f020008 > E/AndroidRuntime(22370): at > android.content.res.Resources.getText(Resources.java:255) > > Any idea of what could be wrong? Is there anything else to do in order to > use the resources from the library into the application? > Sam > > -- > You received this message because you are subscribed to the Google Groups > "scala-on-android" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "scala-on-android" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
