This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
problem building for Android
- From: Mateusz Czaplinski <czapkofan at gmail dot com>
- To: kawa at sourceware dot org
- Date: Sat, 16 Aug 2014 23:24:39 +0200
- Subject: problem building for Android
- Authentication-results: sourceware.org; auth=none
Hi,
I've tried to build a hello-world project for Android (API v7, i.e.
2.1), following the instructions from
https://www.gnu.org/software/kawa/Building-for-Android.html. I tried
to build Kawa from SVN sources on Windows.
After `ant -Denable-android=true`, I'm getting (among others) some
input like below:
android-classes:
[kawa] (compiling
C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm to
gnu.kawa.android.defs)
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:2:22:
warning - no declaration seen for android.widget.Button
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:3:24:
warning - no declaration seen for android.widget.EditText
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:5:25:
warning - no declaration seen for android.widget.ImageView
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:6:28:
warning - no declaration seen for android.widget.LinearLayout
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:7:26:
warning - no declaration seen for android.widget.ScrollView
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:8:24:
warning - no declaration seen for android.widget.TextView
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:9:20:
warning - no declaration seen for android.view.View
but the jar seems to build.
I then copy the `kawa-1.14.1.jar` to my $PROJECT/libs, then in my project dir:
ant debug
but it fails with:
scompile:
[java] (compiling
C:\prog\bookshelf2\src\kawa\android\bookshelf.scm to
kawa.android.bookshelf)
[java] C:\prog\bookshelf2\src\kawa\android\bookshelf.scm:4:4:
while creating JavafxObjectBuilder for ClassType
android.widget.TextView - caught java.lang.ClassNotFoundException:
gnu.kawa.android.ViewBuilder
[java] C:\prog\bookshelf2\src\kawa\android\bookshelf.scm:4:4:
while creating JavafxObjectBuilder for ClassType
android.widget.TextView - caught java.lang.ClassNotFoundException:
gnu.kawa.android.ViewBuilder
so, I tried to change the Kawa's build.xml, like so:
Index: build.xml
===================================================================
--- build.xml (revision 8002)
+++ build.xml (working copy)
@@ -732,6 +732,7 @@
<arg line="-P gnu.kawa.android. --module-static-run -C"/>
<fileset dir="${src.dir}/gnu/kawa/android">
<include name="defs.scm"/>
+ <include name="ViewBuilder.scm"/>
</fileset>
</apply>
</target>
then again rebuilt Kawa with `ant -Denable-android=true`, now getting
more warnings:
android-classes:
[kawa] (compiling
C:\dnload\java-etc\kawa\gnu\kawa\android\ViewBuilder.scm to
gnu.kawa.android.ViewBuilder)
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:2:22:
warning - no declaration seen for android.widget.Button
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:3:24:
warning - no declaration seen for android.widget.EditText
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:5:25:
warning - no declaration seen for android.widget.ImageView
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:6:28:
warning - no declaration seen for android.widget.LinearLayout
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:7:26:
warning - no declaration seen for android.widget.ScrollView
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:8:24:
warning - no declaration seen for android.widget.TextView
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm:9:20:
warning - no declaration seen for android.view.View
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\ViewBuilder.scm:19:27:
warning - more than one possibly applicable method 'makeCoercion' in
gnu.expr.Compilation
[kawa] candidate: gnu.expr.ApplyExp
gnu.expr.Compilation.makeCoercion(gnu.expr.Expression,gnu.expr.Expression)
[kawa] candidate: gnu.expr.ApplyExp
gnu.expr.Compilation.makeCoercion(gnu.expr.Expression,type)
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\ViewBuilder.scm:18:26:
warning - more than one possibly applicable method 'visit' in
gnu.expr.InlineCalls
[kawa] candidate: java.lang.Object
gnu.expr.InlineCalls.visit(gnu.expr.Expression,java.lang.Object)
[kawa] candidate: gnu.expr.Expression
gnu.expr.InlineCalls.visit(gnu.expr.Expression,type)
[kawa] <unknown>: warning - no declaration seen for Button
[kawa] <unknown>: warning - no declaration seen for EditText
[kawa] <unknown>: warning - no declaration seen for ImageView
[kawa] <unknown>: warning - no declaration seen for LinearLayout
[kawa] <unknown>: warning - no declaration seen for ScrollView
[kawa] <unknown>: warning - no declaration seen for TextView
[kawa] <unknown>: warning - no declaration seen for View
[kawa] C:\dnload\java-etc\kawa\gnu\kawa\android\ViewBuilder.scm:21:28:
warning - no declaration seen for android.app.Activity
[kawa] (compiling
C:\dnload\java-etc\kawa\gnu\kawa\android\defs.scm to
gnu.kawa.android.defs)
then copied the kawa-1.14.1.jar again to my libs/, and tried building
my project again, but now again got errors, only different:
-dex:
[dex] input: C:\prog\bookshelf2\bin\classes
[dex] input: C:\prog\bookshelf2\libs\kawa-1.14.jar
[dex] input:
C:\dnload\KOMRKA~1\adt-bundle-windows-x86_64-20130729\sdk\tools\support\annotations.jar
[dex] input: C:\prog\bookshelf2\libs\kawa-1.14.1.jar
[dex] Using Pre-Dexed
kawa-1.14-39cc886bed3ab2f164b29fd6d9dc0e21.jar <-
C:\prog\bookshelf2\libs\kawa-1.14.jar
[dex] Using Pre-Dexed
annotations-ec3214e836ccddb71c2d078ef20266c4.jar <-
C:\dnload\KOMRKA~1\adt-bundle-windows-x86_64-20130729\sdk\tools\support\annotations.jar
[dex] Pre-Dexing C:\prog\bookshelf2\libs\kawa-1.14.1.jar ->
kawa-1.14.1-2cdb9b08d2bc5099c535d75c225d7911.jar
[dex] Converting compiled files and external libraries into
C:\prog\bookshelf2\bin\classes.dex...
[dx] Merged dex A (7 defs/2,9KiB) with dex B (1099
defs/2702,2KiB). Result is 1106 defs/3450,0KiB. Took 0,8s
[dx] Result compacted from 4634,5KiB to 2704,3KiB to save 1930,1KiB
[dx] Merged dex A (1106 defs/3450,0KiB) with dex B (2
defs/1,1KiB). Result is 1108 defs/2704,3KiB. Took 0,4s
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] com.android.dx.util.DexException: Multiple dex files
define Lgnu/bytecode/Access;
[dx] at
com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592)
[dx] at
com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550)
[dx] at
com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531)
[dx] at
com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168)
[dx] at com.android.dx.merge.DexMerger.merge(DexMerger.java:186)
[dx] at
com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:232)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
[dx] at com.android.dx.command.Main.main(Main.java:91)
[dx]
BUILD FAILED
C:\dnload\KOMRKA~1\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml:892:
The following error occurred while executing this line:
C:\dnload\KOMRKA~1\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml:894:
The following error occurred while executing this line:
C:\dnload\KOMRKA~1\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml:906:
The following error occurred while executing this line:
C:\dnload\KOMRKA~1\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml:284:
null returned: 2
Could anybody please try to help me? I'd be very grateful for a CC to
my private/original email address, as I'm hesitant to fully subscribe
to the mailing list yet, not being sure if I'll be have use for it.
Thanks in advance
/Mateusz.