After generating coverage data for your code, gcov can be used to create a report that shows the number of times each line is executed. lcov is a graphical front-end for gcov and can also be used. Personally, I much prefer lcov's HTML output, so that's what I'll use here.
Assuming you've run your app, and the .gcda files have been created in a folder called coverage_data:
adb pull /sdcard/coverage_data /home/davide/my_project
Move the .gcda coverage files into the same folder as your obj files:
mv coverage_data/*.gcda obj/local/x86/objs-debug/my_native_library rmdir coverage_data
Generate the coverage report:
lcov --capture --directory obj --base-directory ./ --output-file coverage.info --no-external lcov --remove coverage.info "C:/*" -o coverage.info genhtml coverage.info --output-directory out
Since I build on Windows, I exclude any file on C:\ (which is where I have the NDK installed). If you're building on a variant of Linux, you may need to modify or remove the second line.
Once the command has completed, the report will be in out/index.html.