Como manter duas versões de um aplicativo instaladas?


43

O Android Market acaba de atualizar um aplicativo no meu dispositivo. Gostei da atualização, mas é totalmente diferente da última versão, que também era a minha favorita. Então, eu quero manter a última versão também. Eu tenho o apk da última versão graças ao Titanium Backup. Mas não consigo instalá-lo sem substituir o atual (a arquitetura do Android é péssima). Há alguma maneira de fazer isso? Hacks etc.
Nota: Desejo manter a versão atual que deve estar conectada ao Market para receber atualizações futuras.

Respostas:


29

Isso pode ser feito, mas não é simples pelas razões eldarerathis mencionados. Você precisa do apktool . Consulte este guia sobre como usá-lo. E isso ao assinar o apk depois que você terminar.

Você precisa modificar o arquivo AndroidManifest.xml. Encontre a linha que se parece com isso:

manifest package="com.example.app"

e mude para algo como:

"com.example.app.foo"

Depois de terminar, recompile e renuncie. Para restaurar seus dados, tente o seguinte via adb:

adb rm /data/data/com.example.app.foo
adb push /data/data/com.example.app /data/data/com.example.app.foo

Onde com.example.appé o nome do pacote do original e com.example.app.fooé o modificado.

Sempre há uma pequena chance de que o aplicativo seja interrompido ou, dependendo da forma como ele é estruturado, você pode receber uma caixa de diálogo toda vez que alterar a tela, solicitando que você escolha o aplicativo que deseja iniciar, mas definitivamente vale a pena tentar se quero muito o suficiente.

Obviamente, os dois aplicativos não compartilharão as mesmas configurações e dados.


2
Ótimo ... acho que não estaria sujeito a questões legais, pois não vou distribuir / vender. Obrigado!
— Android Quesito

1
Depende do seu país. Na Hungria, é legal fazer engenharia reversa de um aplicativo para fins pessoais / de aprendizado, mas eu não sei sobre o resto do mundo. Mas como você não está distribuindo nada, não terá problemas.
— RR

16

Você não pode fazer isso. Cada aplicativo Android tem um nome de pacote, que define efetivamente o espaço para nome Java / Dalvik que suas classes ocupam. Você não pode ter dois pacotes com o mesmo nome instalados, pois isso criaria namespaces sobrepostos, motivo pelo qual sempre substitui o antigo quando você instala um novo. A única maneira possível de fazer isso é se você pudesse obter a fonte do aplicativo e alterar todas as definições de pacote.


7

Faça em 5 minutos

Método : Altere o nome do pacote para que o Android o reconheça como um aplicativo diferente.

Não há ferramenta APK, adb, habilidades de superusuário necessárias.

Ferramentas necessárias

  • PC com JAVA (Windows, Linux, Mac) (preferencialmente o JDK 8)
  • ApkRename

Passos

  1. Backup / Faça o download de uma cópia do aplicativo desejado ( app.APK)
  2. Transferir para PC
  3. No PC, faça o download de JAVA e ApkRename
  4. Altere o nome do pacote, fornecendo o caminho para o arquivo APK e o novo nome do pacote para ApkRename
  5. Assine o APK usando ApkSign
  6. Transfira o novo APK para o telefone e instale-o.

NOTA: Caso haja alguma dificuldade em assinar o APK, use o aplicativo editor de APK do Android Advanced permission managere faça qualquer edição, pressione salvar e instalar. Nesse momento, eles assinarão o aplicativo.


2

Você pode tentar reembalar o aplicativo. Uma vez eu instalei uma versão editada de um jogo e o resultado foram dois jogos. Lembre-se de que os nomes dos pacotes não eram os mesmos.


0

Às vezes, existem algumas referências na biblioteca executável ( .so) e a alteração do nome do pacote (também smali -> classes.dex) também não ajuda.

Em casos simples, procure o ApkEditor .


1
Este é um bom começo, mas não explica quais alterações você precisa fazer no ApkEditor. Se você deseja que sua resposta seja útil, edite-a para adicionar um pouco mais de informação.
— Dan Hulme
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.