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.
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:
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.
Ó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.
Backup / Faça o download de uma cópia do aplicativo desejado ( app.APK)
Transferir para PC
No PC, faça o download de JAVA e ApkRename
Altere o nome do pacote, fornecendo o caminho para o arquivo APK e o novo nome do pacote para ApkRename
Assine o APK usando ApkSign
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.
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.
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.
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.
fonte
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
Passos
app.APK
)NOTA: Caso haja alguma dificuldade em assinar o APK, use o aplicativo editor de APK do Android
Advanced permission manager
e faça qualquer edição, pressione salvar e instalar. Nesse momento, eles assinarão o aplicativo.fonte
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.
fonte
À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 .
fonte