Hi, using the Android SDK and programming natively gives you access and control on all low level aspects of the Android platform and OpenGL aspects.
Just as an example, you could write some highly-optimized rendering functions natively using OpenGL.
Also, using Android SDK will give you more immediate and straightforward access to the huge set of API available in such SDK (for example, all the GUI features of Android, and many others).
Of course, programming natively with Android requires a good mastery of Java and C++, as well as a good knowledge of the Android SDK itself.
Unity has instead the advantage of offering a graphical editor which enables building very complex Apps with typically very little code (scripts), so you don't necessarily need to be a highly skilled programmer (although it certainly helps).
Also, Unity offers a ready-to-use set of packages for Physics, GUI, advanced/high-end 3D rendering effects, support for 3D models import in various formats, and many other features, which would require a very big development effort if you were to code them on your own.
So, in the end, the choice really depends on factors like:
- how complex is your project
- how much development (programming) effort you plan to spend
- how familiar you are with Java, C++, JNI versus Unity + Unity API script programming
- how much control on low-level native code you want to have
- how many complex features such as Physics, advanced 3D graphics, etc. you plan to have in your App (i.e. are they compatible with the planned coding effort)
One last note: for Unity you need a license that allows you to build for Android platform.