Is it good idea to have application engine written in c++ and user interface with java?
update
Application will show maps.engine in background will download and cache maps.
I’m affraid about system stability because native part wouldn’t be guarded in dalvik mashina and exception in native part can crash my device.
In general, not. The rule is not to use any C++ code in an Android application unless absolutely necessary.
If you are writing everything from scratch consider using Java only, if possible. However, if you already have some C++ engine you will want considering porting it to Android as a C++ native part of your code.
Debugging native code in Android is much more complicated, too and requires more setup.