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: iotivity-dev-boun...@lists.iotivity.org 
[mailto:iotivity-dev-boun...@lists.iotivity.org] On Behalf Of Max Kholmyansky
Sent: Wednesday, February 7, 2018 4:03 AM
To: iotivity <iotivity-dev@lists.iotivity.org>
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
iotivity-dev@lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to