Hi Tim,


For the Android environment we have a crash problem on runtime due to
multiple static library binding issue.

In present iotivity android build system, Few of the libraries like
liboc.so,liboc_logger.so are using gnustl static version.

Having separate copy of gnustl library in each shared library not only
increases the library size, It might also create some undefined behavior as
described in 

NDK Programmers Guide under Static Runtimes section as below:



??: cid:JVZ7KMPGOPJR at namo.co.kr



Could you update the script and guide according to  this?



From: ???(Uze Choi) [mailto:[email protected]] 
Sent: Monday, February 09, 2015 5:45 PM
To: 'Kourt, Tim A'
Cc: 'iotivity-dev at lists.iotivity.org'; 'Keany, Bernie'; 'Rahul, Rahul'
Subject: RE: Android Base API usage guide and design sync request



Hi Tim,



Thank you for your clarification.

Answer For your question: Single process should not contain the multiple
OCplatform library.

So, TM does not static bind OCplatform library in the so file and just
dynamically referencing the OCplatform library which arrow targets to.



BR, Uze Choi

From: Kourt, Tim A [mailto:[email protected]] 
Sent: Friday, February 06, 2015 11:11 AM
To: uzchoi at samsung.com
Cc: iotivity-dev at lists.iotivity.org; Keany, Bernie; Rahul, Rahul
Subject: RE: Android Base API usage guide and design sync request



Hi Uze,



I would like to refer you to the build instructions that we have on gerrit
or in the file attached:

https://gerrit.iotivity.org/gerrit/#/c/160/3/android/Build+instructions+for+
android_api.txt



Building android API is currently a two-step process: 

1)      Build iotivity for Android using Scons scripts

2)      Build Android API using gradle



The instruction set will guide you through the necessary steps. As a result
of the build you will find the *.so files generated inside of
\android\android-api\base\libs\<TARGET_ARCH>\

libocstack-jni.so

liboc.so

libcoap.so

liboctbstack.so

liboc_logger.so *

liboc_logger_core.so *



The .aar files are generated inside base\build\outputs\aar directory

At the moment, for the simplicity purposes we are packing the .so files
into .aar lib file. So .aar file is the only one that you need in your new
project.



For programming samples please refer to the

\android\android-
api\base\src\androidTest\java\org\iotivity\base\DevTest.java

Later we will have a more formal programming guide and planning to automate
the gradle build from scons.



Could you please elaborate a little more about the dashed box (OCPlatform)
inside of TM library?



Thanks,

Tim





From: ???(Uze Choi) [mailto:[email protected]] 
Sent: Wednesday, February 4, 2015 1:36 AM
To: Keany, Bernie; Kourt, Tim A
Cc: iotivity-dev at lists.iotivity.org
Subject: Android Base API usage guide and design sync request



Hi Bernie/Tim,



Could you provide the programming guide for the Android Base API use?

Exactly which native binary should we include in the Android Project for
java bind.



For the common use of base API library from Primitive Service API, I
recommend to use shared library.(highlighted on the upper figure).

(From your latest Android check-in, there are several libraries generated.)





We are aiming to use following architecture for Primitive Service Android
API.





I think you may query something regarding this complex context. Please
share it.



BR, Uze Choi

-------------- next part --------------
HTML ?????? ??????????????...
URL: 
<http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150213/902b50f9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 41227 bytes
Desc: ?????? ?? ????????.
URL: 
<http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150213/902b50f9/attachment.gif>

Reply via email to