--
You received this message because you are subscribed to the Google Groups "clojure-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure-andro...@googlegroups.com.
To post to this group, send email to clojure...@googlegroups.com.
Visit this group at http://groups.google.com/group/clojure-android.
For more options, visit https://groups.google.com/d/optout.
I've been using core async with android no problems. It strikes me that you're trying to import the clojurescript version there though... make sure you're importing clojure.core.async and not cljs.core.async everywhere
Adam
On Fri, May 30, 2014 at 10:06 PM, Frozenlock <froze...@gmail.com> wrote:
Has anybody used it?When I try to include a library that's using it, I get"Exception in thread "main" java.io.FileNotFoundException: Could not locate cljs/analyzer__init.class or cljs/analyzer.clj on classpath: , compiling:(ioc_macros.clj:12:1)"Is there some magic voodoo that one needs to do to be able to use it?
--
You received this message because you are subscribed to the Google Groups "clojure-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure-android+unsubscribe@googlegroups.com.
To post to this group, send email to clojure-android@googlegroups.com.
One possibility - do you have :aot :all in your project file? On which case it will try to compile every namespace, whether you :require it or not, which in this case might be a file which uses cljs but never gets loaded in the jam version. In my application I specify :aot as a vector of namespaces to include. You don't need to specify every namespace, it will walk through the requires of the ones you do specify, but be careful to include things like the nrepl namespace which only gets required at runtime and include any library namespace you might want to require in the repl at runtime.
Adam
--
You received this message because you are subscribed to a topic in the Google Groups "clojure-android" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure-android/2MleX4O9T7c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure-andro...@googlegroups.com.
Yep, it turned out it was due to the nature of :aot :all-with-unusedI got to keep :all-with-unused by using :aot-exclude-nsthis is what my project file looks like currentlymaybe someone would find this useful
On Tue, Jun 17, 2014 at 11:43 AM, Alexander Yakushev <al...@bytopia.org> wrote:
Did it work for you, Ben?
On Tuesday, June 17, 2014 5:17:40 PM UTC+3, Ben Zaporzan wrote:Please excuse my last post, I looked into what Alexander Yakushev said, and used :aot-exclude-ns
:aot-exclude-ns [cljs.core.async.macroscljs.core.impl-ioc-macros]
On Friday, May 30, 2014 5:06:19 PM UTC-4, Frozenlock wrote:Has anybody used it?When I try to include a library that's using it, I get"Exception in thread "main" java.io.FileNotFoundException: Could not locate cljs/analyzer__init.class or cljs/analyzer.clj on classpath: , compiling:(ioc_macros.clj:12:1)"Is there some magic voodoo that one needs to do to be able to use it?
--
You received this message because you are subscribed to a topic in the Google Groups "clojure-android" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure-android/2MleX4O9T7c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure-android+unsubscribe@googlegroups.com.
To post to this group, send email to clojure-android@googlegroups.com.
A far more reliable solution to this problem is to not aot all by default as a number of libraries include nanespaces that are only intended to be used in certain circumstances and maintaining a long list of exclusions is far more tiresome than just including the occasional extra namespace which doesn't get picked up automatically by scanning requires
You received this message because you are subscribed to the Google Groups "clojure-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure-andro...@googlegroups.com.
Oh and I load clojure in an async task which has a larger than normal stack size (the default is actually pretty tiny) so I can load core async without any hacking around. I've been using it for months without a hitch
There is a way to circumvent dex method limit by using a special multidex dupport library and some extra magic. This functionality is planned for lein-droid 0.4.0 but it's not there just yet. I will try to fix this problem when I get back from the vacation in one week.
Best regards,
Alex
I have a working multi-dex setup, but it's really hacky and not suitable for adding to lein droid. I could write it up in its current state if you would like a temporary fix
--
The android build process compiles java byte code to dex code. The dex file format is limited to 65k method references, but there is an option to tell the dexing tool that it should instead generate multiple .Dex files, and if you use the android support library MultiDexApplication class for your application, it will load the multiple dex files instead of just the one it expects. However, this loading happens after your program starts, so you need to make sure that all the classes your program needs at the very start are in your primary dex. There is a script for this which basically runs a proguard script to list all the classes directly linked from your activities and services. I found I needed to add clojure core to this produced file so it would keep it in the main dex, but there is no easy way I found to configure this without tweaking the proguard file in the android sdk itself, and that's the hacky bit - I copied the script from within the android sdk and tweaked it to my needs
--
You received this message because you are subscribed to a topic in the Google Groups "clojure-android" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure-android/2MleX4O9T7c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure-andro...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "clojure-android" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojure-andro...@googlegroups.com.
I/ActivityManager( 1155): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=gnzh.android.hello.world.debug/gnzh.android.hello.world.SplashActivity bnds=[571,96][763,288]} from pid 1538
I/ActivityManager( 1155): Start proc gnzh.android.hello.world.debug for activity gnzh.android.hello.world.debug/gnzh.android.hello.world.SplashActivity: pid=21038 uid=10190 gids={50190, 3003}
D/WhetstoneService( 1507): set foreground process size 1 pid:21038pacakgeName:gnzh.android.hello.world.debug
I/KLO_Stability( 1782): [am_crash][1438002776]:[21038,0,gnzh.android.hello.world.debug,8961606,java.lang.ClassNotFoundException,Didn't find class "clojure.lang.DalvikDynamicClassLoader" on path: DexPathList[[zip file "/data/app/gnzh.android.hello.world.debug-2.apk"],nativeLibraryDirectories=[/data/app-lib/gnzh.android.hello.world.debug-2, /vendor/lib, /system/lib]],BaseDexClassLoader.java,56]
E/AndroidRuntime(21038): Process: gnzh.android.hello.world.debug, PID: 21038
E/AndroidRuntime(21038): Caused by: java.lang.ClassNotFoundException: Didn't find class "clojure.lang.DalvikDynamicClassLoader" on path: DexPathList[[zip file "/data/app/gnzh.android.hello.world.debug-2.apk"],nativeLibraryDirectories=[/data/app-lib/gnzh.android.hello.world.debug-2, /vendor/lib, /system/lib]]
W/KloServer( 1507): Aborted broadcast does not supprt for: gnzh.android.hello.world.debug
W/ActivityManager( 1155): Force finishing activity gnzh.android.hello.world.debug/gnzh.android.hello.world.SplashActivity
I/Timeline( 1155): Timeline: Activity_windows_visible id: ActivityRecord{41dede48 u0 gnzh.android.hello.world.debug/gnzh.android.hello.world.SplashActivity t104 f} time:67451256
W/WhetstoneService( 1507): do not trim { PackageName :gnzh.android.hello.world.debug Pid: 21038 Uid: 0 Start by: activity Score:50 Old score:50 state:0 mBackgroundTimeInMillis:1438002776375 WakelockCount:0 wakelogsize:0 ActivityDestroied:false Activity size: 0 PackageInfo:{WhetstonePackageInfo#PacakgeName:gnzh.android.hello.world.debugFlag:1073747136 [,TRIMHEAPS,SOFT_RESET,ZRAM,FLAG_DEAL_SCHEDULE] Type:0[] } tasknum:104}
I/ActivityManager( 1155): Process gnzh.android.hello.world.debug (pid 21038) has died.