Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

Has anyone gotten Apache NiFi running on an Android Phone?

avatar
Master Guru

Otherwise we can just send REST calls out, but it would be interesting to have NIFI or an agent on a phone.

Anyone try this?

I would like to send phone sensor data to NIFI.

1 ACCEPTED SOLUTION

avatar

NiFi itself is not a good fit for running on the phone. Today. The architectural focus should be around getting sensor data off of the phone.

That being said, MiNiFi effort could end up being that lightweight runtime which could be running on the phone directly. You can read more here: https://cwiki.apache.org/confluence/display/NIFI/MiNiFi

View solution in original post

4 REPLIES 4

avatar

NiFi itself is not a good fit for running on the phone. Today. The architectural focus should be around getting sensor data off of the phone.

That being said, MiNiFi effort could end up being that lightweight runtime which could be running on the phone directly. You can read more here: https://cwiki.apache.org/confluence/display/NIFI/MiNiFi

avatar
Explorer

https://github.com/benqiu2016/nifi-minifi-cpp has the working C++ MiNiFi code.

If you cross compile the application using ARM, it can be adb push into the phone and run.

We are still in the development phase of the C++ native MiNiFi.

avatar
Expert Contributor

Is there any progress on this as we are in 2019 now and this post is almost 3 years back . Is there an easy way to install Minifi on an Android Phone and then use it to transmit data

avatar
New Contributor

[  0%] Built target date-tz

[  1%] Built target spdlog-externa

[  2%] Built target ossp-uuid-externa

[  4%] Built target zlib-externa

[  5%] Built target yaml-cpp-externa

[  5%] Performing build step for 'libressl-portable

Consolidate compiler generated dependencies of target crypt

[  0%] Building C object crypto/CMakeFiles/crypto.dir/cryptlib.c.

In file included from /data/data/com.termux/files/home/nifi-minifi-cpp/build/thirdparty/libressl-src/crypto/cryptlib.c:121

/data/data/com.termux/files/home/nifi-minifi-cpp/build/thirdparty/libressl-src/crypto/../include/compat/syslog.h:32:6: error: conflicting types for 'android_polyfill_syslog_r

void syslog_r(int, struct syslog_data *, const char *, ...)

     

/data/data/com.termux/files/usr/include/syslog.h:176:18: note: expanded from macro 'syslog_r

#define syslog_r android_polyfill_syslog_

                 

/data/data/com.termux/files/usr/include/syslog.h:161:24: note: previous definition is her

static __inline__ void android_polyfill_syslog_r(int syslog_priority, void* d, const char* format, ...

                       

In file included from /data/data/com.termux/files/home/nifi-minifi-cpp/build/thirdparty/libressl-src/crypto/cryptlib.c:121

/data/data/com.termux/files/home/nifi-minifi-cpp/build/thirdparty/libressl-src/crypto/../include/compat/syslog.h:33:6: error: conflicting types for 'android_polyfill_vsyslog_r

void vsyslog_r(int, struct syslog_data *, const char *, va_list)

     

/data/data/com.termux/files/usr/include/syslog.h:177:19: note: expanded from macro 'vsyslog_r

#define vsyslog_r android_polyfill_vsyslog_

                  

/data/data/com.termux/files/usr/include/syslog.h:170:24: note: previous definition is her

static __inline__ void android_polyfill_vsyslog_r(int syslog_priority, void* d, const char* fmt, va_list ap

                       

2 errors generated

make[5]: *** [crypto/CMakeFiles/crypto.dir/build.make:188: crypto/CMakeFiles/crypto.dir/cryptlib.c.o] Error 

make[4]: *** [CMakeFiles/Makefile2:197: crypto/CMakeFiles/crypto.dir/all] Error 

make[3]: *** [Makefile:146: all] Error 

make[2]: *** [CMakeFiles/libressl-portable.dir/build.make:86: libressl-portable-prefix/src/libressl-portable-stamp/libressl-portable-build] Error 

make[1]: *** [CMakeFiles/Makefile2:1076: CMakeFiles/libressl-portable.dir/all] Error 

make: *** [Makefile:166: all] Error 

222221.^)e^r'^;':^)e^r'^;':oo'llll[Makefile:166: all] Error 2