Meu keystore está corrompido, portanto, o Android Market está exigindo que eu renomeie o aplicativo e o reenvie. No entanto, sempre que vou editar os nomes dos pacotes no Manifest e nos arquivos, isso gera muitos erros.
Qual é a maneira correta de alterar o nome do aplicativo?
Respostas:
Se você estiver usando o Eclipse, tente estas instruções no site do desenvolvedor do Android. Eles são especificamente para a amostra do GestureBuilder, mas devem ser aplicados a qualquer aplicativo, tanto quanto eu saiba:
Além disso, lembre-se de renomear o próprio pacote, juntamente com as referências a ele nos arquivos. No Eclipse, você pode ver o nome do pacote na janela / visualização em árvore do gerenciador de arquivos, no lado esquerdo. Na minha experiência, o Eclipse às vezes pode ser um pouco exigente e pouco confiável com isso (deixando para trás referências dispersas ao nome do pacote antigo, por exemplo).
fonte
app_name
res-> values => strings.xmlExiste uma maneira de alterar o nome do pacote facilmente no Eclipse. Clique com o botão direito do mouse no seu projeto, role para baixo até Ferramentas do Android e clique em Renomear Pacote de Aplicativos.
fonte
Veja como você pode fazer isso no Eclipse:
src/com.android.gesture.builder
).Refactor > Rename
e altere o nome, por exemplo, paracom.android.gestureNEW.builder
.<manifest>
tag, altere o nome do pacote paracom.android.gestureNEW.builder
.Activity
arquivos e faça Ctrl+ Shift+ Opara adicionar pacotes de importação ausentes e salve cada arquivo.GestureBuilder
aplicativo no emulador.Link para postar
Atualize de maneira super fácil com o botão direito do mouse em seu projeto ...
fonte
No Android Studio , que, sinceramente, você deve usar, altere o nome do pacote por
right-clicking
do pacote no nome do pacote no diretórioproject structure -> Refactor -> Rename...
Em seguida, oferece a opção de renomear o diretório ou o pacote. Selecione o pacote. O diretório deve seguir o exemplo. Digite seu novo nome de pacote e clique em Refatorar. Ele mudará todas as importações e removerá as importações redundantes para você. Você pode até corrigi-lo em comentários e strings, etc.
Por último , altere o nome do pacote adequadamente em seu AndroidManifest.xml para o topo. Caso contrário, você receberá erros em todos os lugares reclamando da R.whatever.
Outra solução muito útil
Primeiro, crie um novo pacote com o nome desejado
by right clicking on the
pasta java -> new -> package.`Em seguida, selecione e arraste todas as suas classes para o novo pacote. O AndroidStudio fatorará novamente o nome do pacote em qualquer lugar.
Depois disso:
build.gradle
adicione / edite applicationId do seu aplicativo com o novo. ie (com.a.bc
no meu caso):Postagem original e mais comentários aqui
fonte
package
com o botão direito do mouse na pastajava
Sem Eclipse:
Altere o nome do pacote e os nomes de atividades no AndroidManifext.xml e em qualquer outro lugar em arquivos .xml (nomes de exibição personalizados, etc.)
Atualizar instrução de importação de pacote em todos os arquivos de origem
Renomeie todas as pastas para corresponder ao nome do pacote. Locais das pastas:
a. bin / classes
b. gen
c. src
Atualize o nome do projeto em build.xml (ou o nome do seu apk não será alterado)
Exclua todos os arquivos .class em bin / classes / com / example / myapp / (se você pular esta etapa, os arquivos não serão reescritos durante a compilação e o dex causará muitos problemas ao processar erros "o nome da classe não corresponde ao caminho"
Exclua gen / com / example / myapp / BuildConfig.java (não sei por que excluir o BuildConfig.class na etapa 3a não fez com que o dex atualizasse seu caminho para isso, mas até eu excluir o BuildConfig.java, ele recriava gen / com / oldapp_example / oldapp e colocando BuildConfig.class lá. Não sei por que R.java do mesmo local não tem esse problema. Suspeito que BuildConfig.java seja gerado automaticamente na pré-compilação, mas R.java não é)
As 6 etapas acima são o que eu fiz para alterar meu nome de pacote e obter uma compilação * bem-sucedida. Pode haver uma maneira melhor de lidar com as etapas 5 e 6 por meio de comandos dex para atualizar caminhos, ou talvez editando classes.dex.d no diretório raiz do projeto. Eu não estou familiarizado com o dex ou se não há problema em excluir / editar classes.dex.d, por isso fui com o método de excluir arquivos .class que eu sei que serão regenerados na compilação. Depois verifiquei o arquivo classes.dex.d para ver o que ainda precisava ser atualizado.
* Nenhum erro ou aviso deixado na minha compilação, EXCEPT dex e apkbuilder, afirmam "Arquivo de destino excluído encontrado" sem detalhes sobre o que é esse arquivo. Não tenho certeza se isso aparece em todas as versões, se existia antes de eu mexer com o nome do meu pacote ou se é o resultado de minhas exclusões e estou perdendo uma etapa.
fonte
Siga esses passos:-
FEITO
fonte
A maneira mais rápida de fazer isso no Android Studio 1.3 :
manifest
Module Settings[F4]-> Flavors
,Application Id
escreva o mesmo nome.[right-click-> new-> package]
[Right-click-> Refactor-> Move-> {Select package}-> Refactor]
PS Se você não seguir essa ordem, poderá alterar todos os arquivos java um a um com novas importações e vários erros de tempo de compilação, portanto, a ordem é muito importante.
fonte
Mudar o nome do pacote é um pé no saco. Parece que métodos diferentes funcionam para pessoas diferentes. Minha solução é rápida e sem erros. Parece que não é necessário limpar ou redefinir o eclipse.
fonte
Bernstein possui o método, use a ferramenta Eclipse, "Renomear Pacote de Aplicativos", talvez seja necessário fazer uma limpeza mesmo após o fato. Além disso, o Eclipse às vezes perde o controle quando você faz alterações em um projeto. Pode ser necessário usar a ferramenta "Limpar projeto" (no menu "Projeto".) Se isso não funcionar, talvez seja necessário fechar e reiniciar o Eclipse. Soluções Voo-doo, mas o Eclipse pode ser assim.
fonte
Eu achei a solução mais fácil foi usar o Regexxer para substituir "com.package.name" por "com.newpackage.name" e renomeie os diretórios corretamente. Super fácil, super rápido.
fonte
src
pasta e marquerename subpackages
fonte
Também há outra solução para usuários sem Eclipse: basta alterar o atributo do pacote na tag <manifest> no AndroidManifest.xml, substituindo o nome antigo do pacote usado por um novo. Nota: Você também deve ajustar manualmente todas as instruções de importação e pastas relacionadas relacionadas ao seu projeto.
fonte
Alternativo:
fonte
Clique com o botão direito do mouse em Projeto> Ferramentas Android> Renomear Pacote de Aplicativos
Vá para src e clique com o botão direito do mouse em seu pacote principal> Refatorar> Renomear
Vá para o arquivo de manifesto e altere o nome do seu pacote.
fonte
Acabei de perder algumas horas tentando todas as soluções. Eu tinha certeza, o problema está no meu código - o apk inicia, mas alguns erros ao trabalhar com diferentes classes e atividades.
A única maneira de trabalhar com o meu projeto:
Para mim, funciona, única solução.
fonte
Então, usando o IntelliJ com o plug-in Android (Studio) foi: Eu subi
AndroidManifest.xml
e mudei o nome do pacote clicando com o botão direito do mouse em -> Refatorar -> renomear. Nosso nome de pacote então tinha quatro partesa.b.c.d
, a nova apenasa.b.c
. Então, renomeei os três primeiros. Depois fui para o diretório das fontes geradas (app\build\generated\source\r\development\debug\a\b\c\d
), clicou com o botão direito do mouse naR
classe e Refatorou-> Mova [d] para um pacote superior. Mesmo comBuildConfig
noapp\build\generated\source\buildConfig\development\debug\a\b\c\d
.Usando Refactor-> Move, o IntelliJ atualiza todas as referências para
BuildConfig
eR
.Finalmente, atualizei todos os applicationId [s] que encontrei no gradle.build que encontrei. Eu bati Projeto Limpo, Faça e Reconstrua Projeto. Excluiu o aplicativo do meu telefone e pressione "Play". Tudo funcionou, então a refatoração foi fácil e rápida.
fonte
No Android Studio 1.2.2, diga se você deseja alterar
com.example.myapp
paraorg.mydomain.mynewapp
Você pode seguir as etapas em cada um dos diretórios, conforme exibido na captura de tela abaixo. Ele fornecerá a opção de visualização para que você possa visualizar antes de fazer alterações.Vá para
Refactor -> Rename
e dê seu novo nome. Você deve fazer isso para cada uma das pastas, por exemplo, com, example e myapp. Ele atualizará automaticamente as importações para que você não precise se preocupar com isso.Atualize também o arquivo
build.gradle
que não é atualizado automaticamente.Depois disso, ele pedirá para
sync
fazê-lo. Então tudo ficará bem. Depois disso, posso enviar meu APK para a loja do Google. Verifique se você assinou seu aplicativo para enviá-lo para a loja.fonte
fonte