jberkel / android-plugin

An sbt plugin for Android development in Scala
https://groups.google.com/forum/#!forum/scala-on-android
Other
476 stars 113 forks source link

Classes in external JARs doesn't show up in the APK. #58

Closed lambdalainen closed 13 years ago

lambdalainen commented 13 years ago

I had this problem when trying to add an external JAR library into my project's 'lib' directory. The 'android:package-debug' task goes fine but when the app starts, ClassNotFoundExceptions is reported. Robert Thau (rst@ai.mit.edu) solved this problem by adding the JARs from the 'lib' directory into proguardInJars, I, however, have preinstalled the Scala libraries on the device so the proguard task is skipped in my case. Quoting Robert Thau: "I'm not sure it was a deliberate change, but I don't recall this sort of thing being necessary in the 0.7 version of the plugin..."

Discussion on Google Groups: http://groups.google.com/group/scala-on-android/browse_thread/thread/2219fc6b6b17690c

rst commented 13 years ago

The same trick might work anyway --- if useProguard is off, dxTask in AndroidInstall.scala still appears to include the proguardInJars (other then the Scala library) in the dexer source list. (Well, actually, if the proguard task coughed up a 'None', but that ordinarily amounts to the same thing.)

lambdalainen commented 13 years ago

I've also read AndroidInstall.scala, and yes, adding jars in 'lib' to proguardInJars works, regardless of the value of useProguard. Thank you so much Robert, since finally I can ship my app to the client now :-)

On Fri, Sep 23, 2011 at 1:38 AM, Robert Thau < reply@reply.github.com>wrote:

The same trick might work anyway --- if useProguard is off, dxTask in AndroidInstall.scala still appears to include the proguardInJars (other then the Scala library) in the dexer source list. (Well, actually, if the proguard task coughed up a 'None', but that ordinarily amounts to the same thing.)

Reply to this email directly or view it on GitHub: https://github.com/jberkel/android-plugin/issues/58#issuecomment-2170031

lambdalainen commented 13 years ago

I've also read AndroidInstall.scala, and yes, adding jars in 'lib' to proguardInJars works, regardless of the value of useProguard. Thank you so much Robert, since finally I can ship my app to the client now :-)