Well, the best way is to use multisampling (smoothing). Since you are using an emulator, this is not an option for you. (Multismapling is supported in OpenGL ES 2.0, but the emulator does not support 2.0) According to the OpenGL specification, the device may ignore the glHint you installed, so do not expect much from it. GL_DITHER is a way to "fake" 24-bit color depths from 16-bit color depths, basically it has nothing to do with edges.
Altho there is an old method of "fake" anti-aliasing, it is the same that I never used, so I can not tell you how to do this, but you can find some tips on the Internet.
From OpenGL Docs
The blend function (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) is also useful for rendering smooth points and lines in random order.
Polygon smoothing is optimized using the blend function (GL_SRC_ALPHA_SATURATE, GL_ONE) with polygons sorted from nearest to farthest.
source share