Sempre que criamos um aplicativo Android ele possui um nome de pacote, este pacote é o responsável por identificar nosso aplicativo dentro do dispositivo.
Entendendo o Nome do Pacote – Package Name
O Package Name deve ser único, ele é responsável pelo unicidade da aplicação na Google Play e no dispositivo no qual o aplicativo será instalado.
Como exemplo veja o nome do pacote do Twitter na Google Play:
Caso acesse acesse o dispositivo no diretório \Android\Data\ vai encontrar o conteúdo do pacote do Twitter exatamente como a imagem abaixo:
Package Name no Delphi XE7
Ao criamos uma aplicação Android no Delphi XE7, também acontecia com as versões anteriores, ela tem o nome de pacote padrão setado como com.embarcadero. Uma prova do desconhecimento dessa informação pode ser notada ao acessar a Google Play e solicitar uma pesquisa pelo termo Embarcadero na seção de apps, veja:
Como alterar o Package na prática
Bem na prática essa alteração é muito mais simples do que se possa imaginar. Acredito que tenhamos tantos apps com o nome de pacote como Embarcadero na Google Play apenas pelo fato dos desenvolvedores Delphi ao chegarem ao mundo Android apenas desconhecessem o funcionamento e sua importância.
Primeiramente crie um novo projeto Multi-Device Application, configure sua Target Plattform para Android.
Em seguida acesse as Opções de Projeto em Project –> Options (Shift + CRTL + F11) . Lá vá até Version Info e localize na caixa ao lado direito a opção contendo o nome do pacote, basta alterá-lo.
Simples assim, sua aplicação agora passa a fazer parte de um pacote “exclusivamente seu”.
Nota: Alterar o nome do pacote de uma aplicação já existente faz com que o Android passe a considerá-la como uma nova aplicação, não conseguindo os usuários "enxergá-la" por exemplo como uma atualização. Isso requer um grande cuidado!
Bons código!




olá Landerson, aqui estou de novo precisando de sua ajuda.
Mesmo fazendo oq você indica neste post, quando eu levo o meu projeto para compilar em outro PC não consigo atualizar meu app no Android, recebo a mensagem “Pacote com esse nome e uma assinatura diferente já instalado”, precisando desinstalar o app do dispositivo para instalar novamente. Você tem algum outra dica para fornecer. Abraços e continuem com o seu excelente trabalho.
Grande Vinícius… acho que já passei por isso! Na verdade quando ocorreu comigo acho que foi devido as configurações definidas em Provisioning, Project->Options->Provisioning, como solução gerei nova chave, desinstalei o apk do aparelho manualmente e em seguida instalei o novo gerado com essa nova chave.
Acho que pode ser esse seu problema, confirme se você está em release na Debug Configuration e Android Application Store na Build Type (dentro do provisioning).
Poste aqui seu feedback!
Espero tê-lo ajudado.
Grande abraço!
eu altero e o não funciona mais. o nome do meu projeto é ProjectMobile, mas não que esse nome no aparelho, e não acho a opção para mudar. Em VCL é fácil, vc define o nome do executável, mas aqui não estou conseguindo
Olá Henrique!
Bem vindo!!!
As plataformas são diferentes por isso a alteração se dá de forma diferente, o seu aplicativo mobile na verdade tem um nome único que leva em consideração todo o “pacote”… o projeto não necessariamente em mobile é o nome do seu pacote, o pacote é o nome a ser “visto” pelo Android.
Desde já agradeço sua participação!
Bom dia, desenvolvi uma aplicação Multi-Device para Android e IOS, porém estou com um problema quando compilo minha aplicação no modo Application Store para distribuir no google play.
Algumas funcionalidades que funcionam perfeitamente no modo Debuger, deixam de funcionar quando compilo minha aplicação utilizando o modo “Application Store”.
Exemplo de algumas funções que deixaram de funcionar:
A minha função de CheckInternet, assim como o meu servidor Datasnap, a minha aplicação mobile(Android) não consegue se conectar com o servidor, desta forma retornando a seguinte mensagem: socket access denied.
A segui está função que me referi.
function CheckInternet : boolean;
begin
result:=false;
try dm.IdTCPClient1.ReadTimeout := 2000;
dm.IdTCPClient1.ConnectTimeout := 2000;
dm.IdTCPClient1.Port := 80;
dm.IdTCPClient1.Host := ‘google.com’;
dm.IdTCPClient1.Connect;
dm.IdTCPClient1.Disconnect;
result:=true;
except
result:=false;
end;
end;
Será que o problema é devido eu estar instalando um APK no meu celular no modo Application Store? Sendo que o correto seria a submissão do APk na Google Play e depois o download do mesmo?
São apenas hipóteses que estou levantando.
Bom dia, Landerson. Necessito de um “help”.
Estou desenvolvendo um aplicativo em Delphi XE-6. Tudo bem, funciona corretamente no emulador. Porém, ao tentar instalar no meu celular (moto g ), ele não abre. REcebo a informação ” o aplicatio parou.
Creio que seja a versão em que estou compilando. Mas não encontro o local onde mudar isso . Quando fazia o aplicativo em java, eu mudava a plataforma / versão, porém no delphi ainda não descobri.
Obrigado pela sua atenção. E parabéns pelos excelentes tutoriais . Usei, para acessar o banco de dados remoto, os componentes da Unidac, conforme aprendi em outro artigo teu . Abraços.