Kawa on Android - problems with kawa.standard.Scheme
Per Bothner
per@bothner.com
Tue Mar 1 19:56:00 GMT 2011
On 03/01/2011 11:04 AM, Peter Feigl wrote:
> On Mon, Feb 28, 2011 at 11:20:29AM -0800, Per Bothner wrote:
>> It's possible (in fact likely) the problem isn't the actual Path,
>> but one of the classes referenced by Path.
>
> I think I found the problem, the reason for the crash is twofold:
> - The class javax.tools.FileObject does not exist on Android.
That doesn't explain the problem. If you followed the instructions
(either using configure+make or ant) it is supposed to do an implicit
'make select-android' which runs a pre-processor (java.kawa.util.PreProcess)
which comments out the 'implements javax.tools.FileObject'. There
are no other references to FileObject in the code.
> This can be fixed by commenting out line 13 in Path.java or probably
> also by correctly setting --with-java-source=5 for ./configure
That's a useful data-point, but we still don't know what causes the
failure. I'll do some more experiments.
> - The three static fields makePathProc, makeFilepathProc and
> makeURIProc in LangObjType.java throw exceptions in their
> initializers. If all three of them are set to = null (instead of new
> PrimProcedure(..)), the class can successfully be loaded.
>
> I am not sure on how to fix the second problem permanently, I tried
> initializing the fields lazily in the constructor of LangObjType, but
> that also raises an exception. It seems there's a general problem with
> PrimProcedure.
It might be better if PrimProcedure were lazy - i.e. only do the
reflection when needed. Still, I though it should work anyway.
Perhaps I'm wrong - Android may not support the necessary reflection.
--
--Per Bothner
per@bothner.com http://per.bothner.com/
More information about the Kawa
mailing list