Проблема заключается в следующем:
Я подключаюсь к Интернету по некоторому URL и получаю HttpResponse с app_example.apk.
Тогда я хочу создать файл (.apk)
в SDCard с этими данными, чтобы это загруженное приложение
может быть установлен позже.
Как я могу преобразовать HttpResponse в файл .apk?
Давайте проясним некоторые детали:
- Я должен получить этот apk-файл через интернет-соединение с моим сервером
- Я не хочу устанавливать это приложение, которое я получаю на SDCard
- Все это должно быть сделано в моем коде, я не могу использовать Android Market
Я сейчас пишу в этот файл.
То, что я делаю, это преобразование HttpResponse в байт [],
затем этот байт [] записывается в файл (.apk) с использованием ObjectOutputStream.
Как это:
// byte[] appByteArray - already has the internet response converted in bytes
try {
file = new File(Environment.getExternalStorageDirectory()+"/"+appName+".apk");
file.createNewFile();
FileOutputStream stream = null;
stream = new FileOutputStream(file, false);
ObjectOutputStream objectOut =
new ObjectOutputStream(new BufferedOutputStream(stream));
objectOut.writeObject(appByteArray);
objectOut.close();
} catch (Exception e) {
e.printStackTrace();
}
В конце концов файл создан
и имеет полученный контент.
Когда я пытаюсь установить его,
через намерение VIEW (используя установщик по умолчанию)
Я получаю сообщение об ошибке разбора о том, что не удалось найти AndroidManifest.xml.
Я думаю, что на каком-то этапе полученные данные будут повреждены.
У вас есть другой способ решить эту проблему?
Большое спасибо