Графика в Android/Java?
с вашим уровнем попробуйте посмотреть в сторону libgdx 
https://github.com/libgdx/libgdx
Canvas подходит для простеньких 2Д игр, но сильно на него рассчитывать не стоит. Для начала, чтобы покодить игры не заморачиваясь на графику - пойдёт. Плюс  - можно делать нормальный UI, а на канвасе - только игру.
OpenGL - это, как вы понимаете, хардкор для профи. Можно сделать крутые вещи, но вы закопаетесь и продвижение будет медленным.
Фреймворков, действительно, очень много. Тот же libgdx позволяет за пару дней что-нибудь слепить. Минус, я считаю, в том, что вы изучаете конкретный фреймворк, в других областях знания ширятся слабо и вы менее востребованы. Можно писать игры под андроид, при этом ничего про этот самый андроид не зная.
NDK - однозначно нет. Это удел серьёзных компаний, с прицелом на все платформы.