NativeActivity is a special Java class that is part of the platform. It delegates all callbacks to C++ and so you can build an Android app writing literally 0 lines of code in Java. Still, your app will running in JVM. In many cases, the NativeActivity does not answer all the needs, and the developers choose to extend this class in Java, just like they extend the regular Activity class.
The similar work for Service class has never been done, so if you want to code a Service in C++, you must first produce a Java harness similar to NativeActivity. Luckily, the source code is available.