Skip to content
This repository has been archived by the owner on Apr 25, 2024. It is now read-only.

Not include resources from dependencies *.jar to apk #40

Closed
ayamada opened this issue Jul 24, 2013 · 6 comments
Closed

Not include resources from dependencies *.jar to apk #40

ayamada opened this issue Jul 24, 2013 · 6 comments

Comments

@ayamada
Copy link
Contributor

ayamada commented Jul 24, 2013

I use lein-droid with LibGDX.
LibGDX's gdx.jar includes com/badlogic/gdx/utils/arial-15.fnt and com/badlogic/gdx/utils/arial-15.png.
But, the *.apk (generated by lein-droid) is not included these resources, and my application don't work because that cannot found these resources.

maven-android-plugin can include these resources, and I look up maven-android-plugin sources.
So, I found to do addResourcesFromJar to many related jars in doAPKWithAPKBuilder() in maven-android-plugin/src/main/java/com/jayway/maven/plugins/android/phase09package/ApkMojo.java (maybe).

Probably, resource-jars in leiningen.droid.build/create-apk may be added many related jars too.

Or, please add lein-droid's new option that can add to resource-jars.

alexander-yakushev added a commit that referenced this issue Jul 24, 2013
@alexander-yakushev
Copy link
Member

I've updated 0.2.0-SNAPSHOT on Clojars. It now recognizes :resource-jars-paths option in :android, which should be a sequence of paths to JAR files, which resources you want to add to your APK.

Please try it out and say whether it works for you.

@ayamada
Copy link
Contributor Author

ayamada commented Jul 25, 2013

Thank you!
But, I cannot get 0.2.0-SNAPSHOT with this fix from clojars... It seems updated at Jul 21.
Sorry, please do you update clojars once again?

@ayamada
Copy link
Contributor Author

ayamada commented Jul 25, 2013

I directly install 0.2.0-SNAPSHOT from github's head to local repository by lein-localrepo, and try it.
But, I got error.

Creating APK...
Error encountered performing task 'do' with profile(s): 'pack,release'
java.lang.ClassCastException
        at java.lang.Class.cast(Class.java:2990)
        at clojure.lang.Reflector.boxArg(Reflector.java:411)
        at clojure.lang.Reflector.boxArgs(Reflector.java:444)
        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:58)
        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
        at leiningen.droid.sdk$create_apk.doInvoke(sdk.clj:27)
        at clojure.lang.RestFn.invoke(RestFn.java:486)
        at leiningen.droid.build$create_apk.invoke(build.clj:226)
        at leiningen.droid.build$apk.invoke(build.clj:280)
        at leiningen.droid$execute_subtask.invoke(droid.clj:108)
        at leiningen.droid$release.doInvoke(droid.clj:59)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.droid$execute_subtask.invoke(droid.clj:111)
        at leiningen.droid$droid.doInvoke(droid.clj:77)
        at clojure.lang.RestFn.invoke(RestFn.java:439)
        at clojure.lang.Var.invoke(Var.java:423)
        at clojure.lang.AFn.applyToHelper(AFn.java:167)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$resolve_task$fn__1833.doInvoke(main.clj:186)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$apply_task.invoke(main.clj:226)
        at leiningen.do$do.doInvoke(do.clj:25)
        at clojure.lang.RestFn.invoke(RestFn.java:559)
        at clojure.lang.Var.invoke(Var.java:440)
        at clojure.lang.AFn.applyToHelper(AFn.java:193)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$resolve_task$fn__1833.doInvoke(main.clj:186)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$apply_task.invoke(main.clj:226)
        at leiningen.with_profile$with_profiles_STAR_.invoke(with_profile.clj:13)
        at leiningen.with_profile$with_profile$fn__5587.invoke(with_profile.clj:63)
        at leiningen.with_profile$with_profile.doInvoke(with_profile.clj:61)
        at clojure.lang.RestFn.invoke(RestFn.java:731)
        at clojure.lang.Var.invoke(Var.java:450)
        at clojure.lang.AFn.applyToHelper(AFn.java:212)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$resolve_task$fn__1833.doInvoke(main.clj:186)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$apply_task.invoke(main.clj:226)
        at leiningen.core.main$_main$fn__1900.invoke(main.clj:291)
        at leiningen.core.main$_main.doInvoke(main.clj:280)
        at clojure.lang.RestFn.invoke(RestFn.java:703)
        at clojure.lang.Var.invoke(Var.java:450)
        at clojure.lang.AFn.applyToHelper(AFn.java:212)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:617)
        at clojure.main$main_opt.invoke(main.clj:335)
        at clojure.main$main.doInvoke(main.clj:440)
        at clojure.lang.RestFn.invoke(RestFn.java:930)
        at clojure.lang.Var.invoke(Var.java:460)
        at clojure.lang.AFn.applyToHelper(AFn.java:235)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.main.main(main.java:37)

.addResourcesFromJar want to instance of Java.IO.File, not want to String.

ayamada added a commit to ayamada/lein-droid that referenced this issue Jul 25, 2013
@ayamada
Copy link
Contributor Author

ayamada commented Jul 25, 2013

I try to fix this, and I look it work expectedly.
(APK file includes resources from JAR files)
How does this look?

@alexander-yakushev
Copy link
Member

Yeah, double fail from my side. Sorry for that.

I've merged your commit and really pushed it to 0.2.0-SNAPSHOT this time (it appears that lein push does not work with DSA keys and I didn't notice it failed). Can you please try it out?

@ayamada
Copy link
Contributor Author

ayamada commented Jul 25, 2013

I tried 0.2.0-SNAPSHOT from clojars, and it work fine.
Thank you, Alexander san!

@ayamada ayamada closed this as completed Jul 25, 2013
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants