Android APK в APK? - PullRequest
       3

Android APK в APK?

5 голосов
/ 26 января 2011

Как указано в моем вопросе выше, возможно ли иметь файл apk внутри другого apk? Для дальнейшего объяснения, вот моя ситуация:

У меня есть два приложения, и первое вызывает другое через намерение ... У меня нет проблем с этим .. Но мне нужно установить только один файл apk вместо двух. И первое, что пришло мне в голову, - это поместить файл .apk в другой файл .apk. Я действительно не знаю, возможно ли это, поэтому мне нужно ваше мнение по этому поводу. Но если это невозможно, я надеюсь, что кто-нибудь подскажет мне, как лучше всего заниматься такими вещами.

Я могу сделать это как одно приложение, но это будет мое последнее решение.

Ответы [ 4 ]

5 голосов
/ 30 января 2012

Я только что сделал это прямо сейчас ...

Я положил apk 2 в raw / embeddedapk.apk

, затем этот код ... запустил установщик для apk 2 ... ** проблема, если пользовательский телефон не позволяет приложение не из маркета .. он не сможет установить apk 2 ...

не забудьте удалить временный файл, когда установка завершится ....

try {
    InputStream in = this.getResources().openRawResource(R.raw.embeddedapk);

    byte[] b = new byte[in.available()];
    int read = in.read(b);
    toast(read + " byte read");

    String tempFileName = "embeddedapk.apk";
    FileOutputStream fout = openFileOutput(tempFileName, MODE_WORLD_READABLE);

    fout.write(b);      
    fout.close();
    in.close();

    File tempFile = getFileStreamPath(tempFileName);
    Intent i = getFileActionIntent(Intent.ACTION_VIEW, tempFile);

    startActivity(Intent.createChooser(i, "sdsds"));
}
catch (Exception ex){
    Log.e("ero", "erer", ex);
}

Моя причина в том, что я хочу иметь apk 1 userinterface и apk 2 провайдера данных в качестве отдельных приложений на рынке.но я не хочу, чтобы пользователи отключались по отдельности при первой установке ...

  • apk 1 нужны данные из apk 2, apk 2 не имеет никаких действий ..

  • Когда пользователь загружает apk 1 с маркета, я хочу автоматически установить apk 2 ...

  • Я хочу иметь возможность обновить (market) apk1 &apk 2 независимо ...

5 голосов
/ 26 января 2011

Возможно, вы ищете библиотеку Android. Это место, где вы можете поместить общий код и включить его в несколько приложений (apks).

См. Эту документацию по проектам библиотек .

3 голосов
/ 26 января 2011

Извините, вам не повезло, если вы хотите APK внутри APK.

Android не позволяет вам делать это.

Но мне любопытно, почему вы хотите, чтобы это так ??Вы можете вызывать одно действие из другого, даже если они находятся в одном APK.

1 голос
/ 26 января 2011

Вы можете запрограммировать его как одно приложение с двумя программами запуска, чтобы пользователю оно показалось как два отдельных приложения.

Вы также можете попытаться запустить намерение и поймать случай, когда никто не реагирует на него. Чем вы можете открыть маркет и порекомендовать установить приложение тоже.

Последний способ в основном делается приложениями, которые нуждаются в файловых браузерах для выбора файлов. Они отправляют намерение, и если не установлен файловый браузер, они запрашивают тост, информирующий, что файловый браузер необходим для выполнения задачи, и открывают рыночную страницу astro, файлового менеджера OI или другого предпочитаемого ими приложения ...

...