Indeed, it works. The skeleton I got was using android-sdk-plugin 1.2.6,
upgrading to 1.2.13 made the trick.


2014-04-17 22:24 GMT+02:00 Perry Nguyen <[email protected]>:

> You can investigate further by doing things like aapt d resources
> package.apk and comparing the res-id's with the values in R.txt/java in the
> various projects
>
>
> On Thu, Apr 17, 2014 at 1:24 PM, Perry Nguyen <[email protected]> wrote:
>
>> 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.
>

-- 
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.

Reply via email to