Не возможно. Как указывают некоторые из этих ссылок, создание APK, который автоматически устанавливает себя и удаляет исходный установщик без дальнейшего вмешательства пользователя, называется вредоносным ПО.
Вы можете написать программу, которая будет загружать и устанавливать произвольные APK, если пользователь предоставит ему соответствующие разрешения, но я пока не вижу хорошей реализации или документации для этого. Обычно вы можете вызвать системный установщик по умолчанию, используя такой код:
File apkFile = new File({path to APK});
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive");
startActivity(intent);