This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Enquanto desenvolve sua aplicação, crie o hábito de testar o jogo nas plataformas-alvo com a maior frequência possível. Faça isso para detectar problemas de desempenho cedo no processo de desenvolvimento, quando essas coisas são muito mais fáceis de corrigir. Também é recomendável testar em todas as plataformas-alvo para encontrar discrepâncias em coisas como shaders. Ao desenvolver para mobile, você tem a opção de usar o aplicativo de desenvolvimento mobile para enviar conteúdo ao app, em vez de precisar fazer um ciclo completo de empacotar, desinstalar e instalar.
Você pode criar um pacote de aplicação para todas as plataformas compatíveis com o Defold a partir do próprio editor Defold, sem precisar de ferramentas externas. Também é possível empacotar pela linha de comando usando nossas ferramentas de linha de comando. O empacotamento de aplicações exige uma conexão de rede se seu projeto contiver uma ou mais extensões nativas.
Você cria um pacote de aplicação pelo menu Project e pela opção Bundle:

Selecionar qualquer uma das opções de menu abrirá a caixa de diálogo Bundle para aquela plataforma específica.
Ao empacotar seu jogo, há uma opção para criar um relatório de build. Isso é muito útil para entender o tamanho de todos os assets que fazem parte do pacote do seu jogo. Basta marcar a caixa Generate build report ao empacotar o jogo.

Para saber mais sobre relatórios de build, consulte o manual de profiling.
A criação de um pacote de aplicação Android (arquivo .apk) está documentada no manual do Android.
A criação de um pacote de aplicação iOS (arquivo .ipa) está documentada no manual do iOS.
A criação de um pacote de aplicação macOS (arquivo .app) está documentada no manual do macOS.
A criação de um pacote de aplicação Linux não exige configuração específica nem configuração opcional específica da plataforma no arquivo de configurações do projeto game.project.
A criação de um pacote de aplicação Windows (arquivo .exe) está documentada no manual do Windows.
A criação de um pacote de aplicação HTML5, bem como a configuração opcional, está documentada no manual de HTML5.
É possível criar uma versão especial de um pacote de aplicação HTML5 especificamente para Facebook Instant Games. Esse processo está documentado no manual de Facebook Instant Games.
O editor usa nossa ferramenta de linha de comando Bob para empacotar a aplicação.
Durante o desenvolvimento diário da sua aplicação, é provável que você compile e empacote pelo editor Defold. Em outras circunstâncias, você talvez queira gerar pacotes de aplicação automaticamente, por exemplo fazendo builds em lote para todos os alvos ao lançar uma nova versão ou criando builds noturnos da versão mais recente do jogo, talvez em um ambiente de CI. A compilação e o empacotamento de uma aplicação podem ser feitos fora do fluxo normal de trabalho do editor usando a ferramenta de linha de comando Bob.
O layout lógico do pacote é estruturado assim:

Um pacote é gerado em uma pasta. Dependendo da plataforma, essa pasta também pode ser compactada em um arquivo .apk ou .ipa.
O conteúdo da pasta depende da plataforma.
Além dos arquivos executáveis, nosso processo de empacotamento também coleta os assets necessários para a plataforma (por exemplo, os arquivos de recurso .xml para Android).
Usando a configuração bundle_resources, você pode configurar assets que devem ser colocados dentro do pacote como estão. Você pode controlar isso por plataforma.
Os assets do jogo ficam no arquivo game.arcd, e são compactados individualmente usando compressão LZ4.
Usando a configuração custom_resources, você pode configurar assets que devem ser colocados (com compressão) dentro de game.arcd.
Esses assets podem ser acessados pela função sys.load_resource().
Ao criar um pacote de aplicação, você tem a opção de criar um pacote debug ou release. As diferenças entre os dois pacotes são pequenas, mas importantes:
print() nem a saída de extensões nativasis_debug em sys.get_engine_info() definido como falsehash ao chamar tostring(). Na prática, isso significa que um tostring() para um valor do tipo url ou hash retornará sua representação numérica, e não a string original ('hash: [/camera_001]' vs 'hash: [11844936738040519888 (unknown)]')