Max,
We thought that the Android build did pick up the changes if you modify source
in any layer C, C++, JNI, or Java. So there are currently no known issues. That
does not mean there are no issues.
About a quarter of the build time for the Android builder is not under the
control of scons (it uses Gradle part of the time) which has caused
synchronization problems. We have added multiple manual Depends, and Clean
calls to the scons scripts to cause the two build systems to know about the
changes of the other but it is tricky to get it completely right.
I thought we had all the dependencies figured out. If you find you are editing
a file and something is not being caught please note the file you changed and
the file that was not updated so we can fix any missed dependencies. Best
action would be to file a Jira ticket with the information. If you select
Android it will automatically be assigned to Rick Bell who will assign it to me
or Larry to look into fixing.
As far as a work around:
Doing the following should work:
$ scons {your specific build options} -c #some code is not placed in the out
folder and this should get most of it
$ rm -fr out #delete the out folder
$ rm .sconsign.dblight #delete scons’ dependency calculations forcing it to
make the calculations again.
$ scons {your specific build options}
Sorry I can’t give you a better work around.
George Nash
From: [email protected]
[mailto:[email protected]] On Behalf Of Max Kholmyansky
Sent: Wednesday, February 7, 2018 4:03 AM
To: iotivity <[email protected]>
Subject: [dev] IoTivity Android build robustness
Hi Developers,
Recently I was working on some issues with IoTivity 1.3.1 on Android, and I had
to modify the source code. Unfortunately, while 'scons' build works well on a
"clean" source tree, it does nor help much to apply code modifications.
My expectation is that once I modify a source code at any layer (C, C++, JNI,
Java) and run the script - the build will update the relevant targets, up to
the final AAR library.
Unfortunately, that's not the case. Sometimes, the modified source files aren't
even re-compiled. In other cases, the compilation is triggered, but the target
updates gets broken somewhere along the chain, I faced cases when the static
libraries (lib*.a) were updated, but not the shared libraries (lib*.so). I
wasn't even able to find a quick workaround, like deletion of 'out' folder.
Is it a known issue?
Are there any tips on how to handle those issues productively?
Thanks for any insight,
Max
_______________________________________________
iotivity-dev mailing list
[email protected]
https://lists.iotivity.org/mailman/listinfo/iotivity-dev