oakes / play-clj

A Clojure game library
The Unlicense
940 stars 72 forks source link

'lein drod build' problem: Too many field references #84

Closed klimenko-serj closed 8 years ago

klimenko-serj commented 9 years ago

I'm trying to compile 'hello-world' project (error like this i get on all 'play-clj-examples' projects) $lein new play-clj helloworld $cd helloworld/android $lein droid build

.... and on 'creating dex' i get:

Creating DEX....

trouble writing output: Too many field references: 68628; max is 65536. You may try using --multi-dex option. References by package: 1 android 10 android.app 7 android.content 1 android.content.res 2 android.hardware 2 android.os 11 android.util 8 android.view 1 android.view.inputmethod 21 android.widget 29 cider.nrepl 2951 cider.nrepl.middleware 1644 cider.nrepl.middleware.util 269 cider.nrepl.middleware.util.java 1 cider.nrepl.middleware.util.java.parser.proxy$javax.swing.text.html 1 cider.nrepl.middleware.util.java.parser.proxy$javax.tools 39 cidernrepl090SNAPSHOT.clojure.tools.reader.impl 17012 clojure 515 clojure.asm 90 clojure.asm.commons 287 clojure.core 1 clojure.core.proxy$clojure.lang 529 clojure.java 1 clojure.java.api 1140 clojure.lang 1363 clojure.pprint 3 clojure.pprint.proxy$java.io 417 clojure.reflect 1 clojure.reflect.proxy$clojure.asm 1 clojure.repl.proxy$java.io 1 clojure.repl.proxy$java.lang 514 clojure.test 311 clojure.tools 1657 clojure.tools.nrepl 848 clojure.tools.nrepl.middleware 1 clojure.tools.nrepl.middleware.proxy$java.lang 2 clojure.tools.nrepl.middleware.session.proxy$java.io 67 clojure.tools.nrepl.server 7 clojure.tools.nrepl.transport 1 clojure.xml.proxy$java.lang 155 com.android.dex 3 com.android.dex.util 1 com.android.dx 44 com.android.dx.cf.attrib 374 com.android.dx.cf.code 19 com.android.dx.cf.cst 56 com.android.dx.cf.direct 5 com.android.dx.cf.iface 3 com.android.dx.command 15 com.android.dx.command.annotool 61 com.android.dx.command.dexer 38 com.android.dx.command.dump 13 com.android.dx.command.findusages 8 com.android.dx.command.grep 2 com.android.dx.dex 20 com.android.dx.dex.cf 323 com.android.dx.dex.code 26 com.android.dx.dex.code.form 254 com.android.dx.dex.file 471 com.android.dx.io 70 com.android.dx.io.instructions 92 com.android.dx.merge 14 com.android.dx.rop.annotation 374 com.android.dx.rop.code 59 com.android.dx.rop.cst 97 com.android.dx.rop.type 157 com.android.dx.ssa 49 com.android.dx.ssa.back 45 com.android.dx.util 249 com.badlogic.gdx 32 com.badlogic.gdx.assets 49 com.badlogic.gdx.assets.loaders 5 com.badlogic.gdx.assets.loaders.resolvers 305 com.badlogic.gdx.backends.android 119 com.badlogic.gdx.backends.android.surfaceview 3 com.badlogic.gdx.files 812 com.badlogic.gdx.graphics 478 com.badlogic.gdx.graphics.g2d 42 com.badlogic.gdx.graphics.g3d 81 com.badlogic.gdx.graphics.g3d.attributes 67 com.badlogic.gdx.graphics.g3d.decals 21 com.badlogic.gdx.graphics.g3d.environment 19 com.badlogic.gdx.graphics.g3d.loader 30 com.badlogic.gdx.graphics.g3d.model 62 com.badlogic.gdx.graphics.g3d.model.data 159 com.badlogic.gdx.graphics.g3d.particles 58 com.badlogic.gdx.graphics.g3d.particles.batches 31 com.badlogic.gdx.graphics.g3d.particles.emitters 150 com.badlogic.gdx.graphics.g3d.particles.influencers 37 com.badlogic.gdx.graphics.g3d.particles.renderers 100 com.badlogic.gdx.graphics.g3d.particles.values 188 com.badlogic.gdx.graphics.g3d.shaders 176 com.badlogic.gdx.graphics.g3d.utils 177 com.badlogic.gdx.graphics.glutils 17 com.badlogic.gdx.graphics.profiling 86 com.badlogic.gdx.input 13 com.badlogic.gdx.jnigen 18 com.badlogic.gdx.maps 13 com.badlogic.gdx.maps.objects 76 com.badlogic.gdx.maps.tiled 49 com.badlogic.gdx.maps.tiled.renderers 15 com.badlogic.gdx.maps.tiled.tiles 324 com.badlogic.gdx.math 17 com.badlogic.gdx.math.collision 156 com.badlogic.gdx.net 181 com.badlogic.gdx.physics.box2d 12 com.badlogic.gdx.physics.box2d.graphics 151 com.badlogic.gdx.physics.box2d.joints 23 com.badlogic.gdx.physics.bullet 1042 com.badlogic.gdx.physics.bullet.collision 298 com.badlogic.gdx.physics.bullet.dynamics 25 com.badlogic.gdx.physics.bullet.extras 172 com.badlogic.gdx.physics.bullet.linearmath 352 com.badlogic.gdx.physics.bullet.softbody 102 com.badlogic.gdx.scenes.scene2d 102 com.badlogic.gdx.scenes.scene2d.actions 589 com.badlogic.gdx.scenes.scene2d.ui 113 com.badlogic.gdx.scenes.scene2d.utils 794 com.badlogic.gdx.utils 5 com.badlogic.gdx.utils.async 19 com.badlogic.gdx.utils.compression 40 com.badlogic.gdx.utils.compression.lz 148 com.badlogic.gdx.utils.compression.lzma 24 com.badlogic.gdx.utils.compression.rangecoder 4 com.badlogic.gdx.utils.reflect 14 com.badlogic.gdx.utils.viewport 1 com.sun.tools.javac.tree 1 com.sun.tools.javadoc 439 complete 466 deps.cljfmt.v0v1v10.cljfmt 952 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj 1559 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node 40 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.comment 44 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.fn 46 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.forms 72 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.indent 51 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.integer 53 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.keyword 62 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.meta 62 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.quote 167 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.reader_macro 66 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.seq 48 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.string 45 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.token 43 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.uneval 79 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.node.whitespace 457 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.parser 1132 deps.cljfmt.v0v1v10.deps.rewrite_clj.v0v4v12.rewrite_clj.zip 753 deps.cljs_tooling.v0v1v7.cljs_tooling 285 deps.cljs_tooling.v0v1v7.cljs_tooling.util 670 deps.compliment.v0v2v2.compliment 1464 deps.compliment.v0v2v2.compliment.sources 242 deps.compliment.v0v2v2.deps.defprecated.v0v1v2.defprecated 110 deps.javaclasspath.v0v2v2.clojure.java 167 deps.toolsnamespace.v0v2v10.clojure.tools 1137 deps.toolsnamespace.v0v2v10.clojure.tools.namespace 50 deps.toolsnamespace.v0v2v10.clojure.tools.namespace.dependency 1148 deps.toolsreader.v0v9v2.clojure.tools 1058 deps.toolsreader.v0v9v2.clojure.tools.reader 1 deps.toolsreader.v0v9v2.clojure.tools.reader.default_data_readers.proxy$java.lang 291 deps.toolsreader.v0v9v2.clojure.tools.reader.impl 74 deps.toolsreader.v0v9v2.clojure.tools.reader.reader_types 631 deps.toolstrace.v0v7v8.clojure.tools 180 dynapath 91 hello_world 18 hello_world.core 3 java.io 20 java.lang 9 java.lang.annotation 7 java.math 2 java.nio 3 java.util 4 java.util.concurrent 1 java.util.jar 4 javax.microedition.khronos.egl 22 javax.swing.text.html 1 javax.tools 1940 neko 1 neko.activity.proxy$android.app 192 neko.compliment 612 neko.data 6 neko.data.sqlite 147 neko.dialog 42 neko.dialog.alert 537 neko.listeners 168 neko.tools 1482 neko.ui 7 neko.ui.adapters 7693 play_clj 1 play_clj.core.proxy$com.badlogic.gdx 1 play_clj.core.proxy$com.badlogic.gdx.assets.loaders 1 play_clj.core.proxy$com.badlogic.gdx.input 5 play_clj.core.proxy$com.badlogic.gdx.scenes.scene2d.utils 1 play_clj.core.proxy$com.badlogic.gdx.utils 327 play_clj.entities 74 play_clj.g3d_physics 1 play_clj.g3d_physics.proxy$com.badlogic.gdx.physics.bullet.linearmath

Abort execution.

sagehan commented 9 years ago

Hi, if you had spent time on play-clj for android development, this blog and title deserve some attention.

The play-clj leiningen template seems has been outdated for a while as the lein-droid development processes.

In a word ,you can try the newest lein-droid plugins and add :multi-dex true and :multi-dex-proguard-conf-path "build/proguard-multi-dex.cfg" to :android map of the project.clj file, and don't forget to add this file to android's project directory!

oakes commented 8 years ago

I've updated the template to work with the latest version of lein-droid.