Page 1 of 2

building android

Posted: Thu Jun 13, 2013 12:01 am
by monte
ok... so symlink the sdk and ndk into an sdks directory... cd into tools... execute build-android.osx... lots of errors from the db drivers... what step am I missing?

Re: building android

Posted: Thu Jun 13, 2013 12:18 am
by mwieder
There's a thread on the improve-list on this. I think Colin has a working configuration. I haven't played with this recently, but it seems that the latest builds (LC and adk) need some massaging before they'll work together.

Update: so I think the new adk build has introduced some incompatibilities that can't be resolved without adding pieces and adjusting paths.

Re: building android

Posted: Thu Jun 13, 2013 12:29 am
by monte
Ah... ok... so what version is known to work?... I hadn't seen any improve list posts on this... testing the list now...

Re: building android

Posted: Thu Jun 13, 2013 12:48 am
by mwieder
I don't have access to the improve list right now. There's been a discussion about incompatibilities between new android builds and new LC builds, and I think some of that discussion is germane to what you're running into, but off the top of my head I can't give you a topic heading.

Re: building android

Posted: Thu Jun 13, 2013 12:53 am
by monte
OK... I'll wait... it must be something relatively simple otherwise 6.1 wouldn't have gone out... hmm... ah... I'm not on the dev branch... no... same on the dev branch too... ... should I post a dump of the output?

Re: building android

Posted: Thu Jun 13, 2013 1:07 am
by mwieder
IIRC the problem is on the adk end, not on the 6.1 end. I'll see about digging up the thread for you.

Re: building android

Posted: Thu Jun 13, 2013 1:09 am
by monte
yeah... I'm surprised I didn't see the thread... anyway, it would be good to post that info here

Re: building android

Posted: Thu Jun 13, 2013 1:38 am
by mwieder
There's a longish thread entitled "Android SDK not recognised after update", and in it Ian posts some relevant information:
Hi guys, it looks like the latest update to the Android SDK Tools
package (version 22) has removed the "apkbuilder" script which we were
using to assemble the Android bundles. If you copy this file (attached)
back into the "<sdkpath>/tools" folder everything works again.
>> This did not work here under Linux.
That's odd! I was able to fix the problem here just by copying that one
file. Can you confirm that you have copied the apkbuilder file into the
"tools" folder within your Android SDK folder, and also that the path to
the Android SDK is appropriately set with the mobile support section of
LiveCode's preferences?

The Mac OS X & Linux versions of the apkbuilder script are identical so
it's not an issue of needing a different file for Linux.
Ok, there's clearly another issue here that I'm not seeing. As Warren
pointed out, the file permissions will be wrong when downloaded so you
will have to call "chmod 755 <path_to_apkbuilder>" to set the file as
executable.
...and probably only relevant to building android apps...
revIDEDeployAndroidIsValidSDK is in the script of stack
"revDeployLibrary". It just calls "deployIsValidSDK" of button "Android"
of card 1 of itself, which in turn checks whether all the necessary
build tools can be found within the specified SDK path.

I couldn't see any problems here apart from the missing apkbuilder file,
but after doing another update of the SDK packages there appears to have
been another change to the location of some of the files we use - aapt &
dx have now been moved from "platform-tools" to "build-tools" under a
numbered version folder.

I'm currently working to update the deploy library scripts so they will
be able to find these files in their new location, and we're aiming to
put out a 6.0.2 build soon so this should be fixed by then. In the
meantime, you should be able to fix things manually by copying or
linking those two files into the "platform-tools" folder.

Re: building android

Posted: Thu Jun 13, 2013 1:42 am
by monte
Ah... that's building a standalone... I'm talking about compiling android

Re: building android

Posted: Thu Jun 13, 2013 6:52 am
by mwieder
Right - just thought there might be something pertinent in there.

Re: building android

Posted: Thu Jun 13, 2013 7:22 am
by monte
it might... not sure but it seems to be missing cpp files that are my problem...

Re: building android

Posted: Thu Jun 13, 2013 9:10 am
by LCMark
@monte: Compiling libmysql does throw a fair few warnings - but not errors... Is the compile actually stopping when you run the script?

Re: building android

Posted: Thu Jun 13, 2013 9:20 am
by monte
This is what I get...

In file included from /Users/montegoulding/livecode/revdb/src/dbdrivercommon.h:18:0,
from /Users/montegoulding/livecode/revdb/src/dbdrivercommon.cpp:17:
/Users/montegoulding/livecode/revdb/src/dbdriver.h:27:18: fatal error: vector: No such file or directoryIn file included from /Users/montegoulding/livecode/revdb/src/database.cpp:17:0:
/Users/montegoulding/livecode/revdb/src/dbdriver.h:27:18: fatal error: vector: No such file or directory

compilation terminated.
compilation terminated.
In file included from /Users/montegoulding/livecode/revdb/src/dbdrivercommon.h:18:0,
from /Users/montegoulding/livecode/revdb/src/dbmysql.h:21,
from /Users/montegoulding/livecode/revdb/src/mysql_cursor.cpp:39:
/Users/montegoulding/livecode/revdb/src/dbdriver.h:27:18: fatal error: vector: No such file or directory
compilation terminated.
In file included from /Users/montegoulding/livecode/revdb/src/dbdrivercommon.h:18:0,
from /Users/montegoulding/livecode/revdb/src/dbmysql.h:21,
from /Users/montegoulding/livecode/revdb/src/mysql_connection.cpp:17:
/Users/montegoulding/livecode/revdb/src/dbdriver.h:27:18: fatal error: vector: No such file or directory
compilation terminated.
In file included from /Users/montegoulding/livecode/revdb/src/dbdrivercommon.h:18:0,
from /Users/montegoulding/livecode/revdb/src/dbmysql.h:21,
from /Users/montegoulding/livecode/revdb/src/dbmysqlapi.cpp:17:
/Users/montegoulding/livecode/revdb/src/dbdriver.h:27:18: fatal error: vector: No such file or directory
compilation terminated.
make: *** [/Users/montegoulding/livecode/_build/android/release/obj/local/armeabi/objs/dbmysql/src/dbdrivercommon.o] Error 1
make: *** Waiting for unfinished jobs....
make: *** [/Users/montegoulding/livecode/_build/android/release/obj/local/armeabi/objs/dbmysql/src/mysql_cursor.o] Error 1
make: *** [/Users/montegoulding/livecode/_build/android/release/obj/local/armeabi/objs/dbmysql/src/mysql_connection.o] Error 1
make: *** [/Users/montegoulding/livecode/_build/android/release/obj/local/armeabi/objs/dbmysql/src/database.o] Error 1
make: *** [/Users/montegoulding/livecode/_build/android/release/obj/local/armeabi/objs/dbmysql/src/dbmysqlapi.o] Error 1
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/list.c:20:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/mf_dirname.c:16:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]

/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition

In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/mf_format.c:16:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/int2str.c:16:0:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/errmsg.c:23:0:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/is_prefix.c:24:0:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/mf_loadpath.c:16:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/my_base.h:23:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/dtoa.c:39:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition

/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/errors.c:16:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/longlong2str.c:40:0:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/mf_arr_appstr.c:16:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/default.c:36:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/libmysql.c:20:0:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition
In file included from /Users/montegoulding/livecode/thirdparty/libmysql/src/mysys_priv.h:16:0,
from /Users/montegoulding/livecode/thirdparty/libmysql/src/mf_fn_ext.c:17:
/Users/montegoulding/livecode/thirdparty/libmysql/src/my_global.h:1551:0: warning: "__func__" redefined [enabled by default]
/Users/montegoulding/livecode/sdks/android-ndk/platforms/android-8/arch-arm/usr/include/sys/cdefs.h:236:0: note: this is the location of the previous definition

Re: building android

Posted: Thu Jun 13, 2013 9:22 am
by LCMark
@monte: What version of the ndk are you using?

Re: building android

Posted: Thu Jun 13, 2013 9:24 am
by monte
er... the latest one... 32bit OS X 8e