Como mudar o nome do pacote no flutter?

155

Existe alguma maneira de alterar o projeto Package Name of Flutter?

Quero alterar o nome do pacote e o nome do aplicativo no projeto flutter.

Abc Xyz
fonte
4
Basta procurar e substituir todas as ocorrências do nome do pacote antigo em todos os arquivos. Ainda não há comando ou similar para atualizar o nome.
Günter Zöchbauer
3
Ao criar um novo projeto, você pode especificar o nome do pacote comflutter create --org com.domain app_name
Victor

Respostas:

284

Para o nome do aplicativo Android

Mude o nome do rótulo no seu AndroidManifest.xmlarquivo:

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   

Para Nome do Pacote

Mude o nome do pacote no seu AndroidManifest.xmlarquivo:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

Também no seu build.gradlearquivo dentro da pasta do aplicativo

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Por fim, altere o pacote em sua MainActivity.javaclasse (se o MainActivity.java não estiver disponível, verifique o MainActivity.kt)

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {

Mude o nome do diretório:

De:

  android\app\src\main\java\com\example\name

Para:

  android\app\src\main\java\your\package\name

EDITADO: 27-Dez-18

para o nome do pacote apenas mudar em construção build.gradleúnica

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Para iOS

Altere o identificador de pacote configurável do seu Info.plistarquivo dentro do ios/Runnerdiretório.

<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>

ATUALIZAR

Para evitar renomear o identificador de pacote e pacote, você pode iniciar seu projeto usando este comando no seu terminal:

flutter create --org com.yourdomain appname
diegoveloper
fonte
1
Eu também tive que atualizar o nome do diretório abaixo (alterando 'exemplo' para 'madeiras') C: \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw
1
Que tal para iOS?
Suragch 12/03/19
9
Meu identificador de pacote é $(PRODUCT_BUNDLE_IDENTIFIER). Onde está escondida essa variável?
Suragch 12/03/19
3
O PRODUCT_BUNDLE_IDENTIFIER é armazenado em vários locais no arquivo project.pbxproj no diretório ios / Runner.xcodeproj.
Safa Alai
3
Vale ressaltar que o appID deve estar no formato de 3 palavras separadas por pontos.
Raj Krishnan R
23

Mudar o nome manualmente não parece funcionar, gera erros gradle, bem, no meu caso, gera erro.

Então, eu costumo criar um novo projeto de vibração.

Eu uso o comando abaixo mencionado para criar um novo aplicativo de vibração

flutter create --org com.yourdomain appname

seu projeto terá o nome do pacote como -> com.yourdomain.appname


Se você quiser apenas manter o nome do seu pacote com.appname, faça algumas alterações, como abaixo

flutter create --org com appname

para adicionar java em vez de kotlinpara androidadd-a java

flutter create -a java --org com.yourdomain appname
Vicky Salunkhe
fonte
e é muito rápido também
griffins
2
'flutter create --org com.seuempresa --project-name new_app_name.' (adicione o período se você estiver dentro do projeto existente - lixeira primeiro as pastas android e ios para que elas sejam regeneradas). FAÇA UM BACKUP deve ser um pré-requisito importante para a resposta.
Tommie C.
20

Android

No Android, o nome do pacote está no AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">

iOS

No iOS, o nome do pacote é o identificador de pacote configurável no Info.plist:

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

que é encontrado em Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

Mudando o nome

O nome do pacote é encontrado em mais de um local, portanto, para alterar o nome, você deve procurar por todo o projeto por ocorrências do nome antigo do projeto e alterá-las todas.

Android Studio e código VS:

  • Mac: Command+ Shift+F
  • Linux / Windows: Ctrl+ Shift+F

Agradecemos a diegoveloper pela ajuda com o iOS.

Atualizar:

Depois de voltar a esta página algumas vezes, acho que é mais fácil e mais limpo iniciar um novo projeto com o nome certo e depois copiar os arquivos antigos.

Suragch
fonte
19

Alterar nameatributo em pubspec.yaml (linha 1)

Para o nome do apk, alterar android:label emAndroidManifest.xml

Fa Kur
fonte
1
A alteração MainActivity.java ou mainActivity.kt é necessária
Epsi95
18

Para quem não gosta de alterar arquivos específicos, usei https://pub.dev/packages/rename .

Instalando: pub global activate rename

E então, executando: pub global run rename --bundleId com.example.android.app --target android

finx
fonte
7

Foi assim que renomeei o pacote para ios e android

  1. Vá para build.gradle no módulo de aplicativo e renomeie applicationId "com.company.name"
  2. Vá para Manifest.xml app/src/maine renomeie package="com.company.name"eandroid:label="App Name"
  3. Vá para Manifest.xml app/src/debuge renomeiepackage="com.company.name"
  4. Vá para Manifest.xml app/src/profilee renomeiepackage="com.company.name"
  5. Vá para app/src/main/kotlin/com/something/something/MainActivity.kte renomeiepackage="com.company.name"
  6. Vá para app/src/main/kotlin/e renomeie cada diretório para que a estrutura pareçaapp/src/main/kotlin/com/company/name/
  7. Vá para o pubspec.yamlseu projeto e mude name: somethingpara name: name, por exemplo: - se o nome do pacote for com.abc.xyzoname: xyz
  8. Vá para cada arquivo de dardo na pasta lib e renomeie as importações para o nome modificado.
  9. Abra o XCode, abra o arquivo do corredor e clique em Runner no Project Explorer.
  10. Vá para Geral -> clique duas vezes em Bundle Identifier -> renomeie-o para com.company.name
  11. Vá para Info.plist, clique em Bundle name -> renomeie-o para o seu App Name.
  12. feche tudo -> vá para o seu projeto flutter e execute este comando no terminal flutter clean
Gagan Raghunath
fonte
6

altere todos os arquivos AndroidManifest.xml do seu Flutter Project, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) e (app / src / main / AndroidManifest.xml ) e (app / src / profile / AndroidManifest.xml )

boa sorte !!

Percy Rojas
fonte
Obrigado Percy Eu estava enfrentando esse problema, encontrei sua resposta.
Desenvolvedor
3

Atualizado Você deve alterar o nome do pacote para o nome do pacote desejado nesses cinco locais.

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
       defaultConfig {
           applicationId
5.) MainActivity.java on "package"

último passo é correr flutter clean

Atul Chaudhary
fonte
3

No código do Visual Studio

Editar> Substituir nos arquivos

vs código substituir em arquivos

No estúdio Android

1. Clique com o botão direito do mouse em seu projeto> Substituir no caminho

substituir no caminho

2. Escreva seu pacote antigo e o novo> Substituir tudo

substituir todas as capturas de tela

shb
fonte
omg, você é apenas o melhor
N Sivaram 22/06
3

De acordo com a documentação oficial do flutter, basta alterar o diretório ApplicationIdin app/build.gradle. Então você precisa apenas criar seu apk e o nome do pacote do arquivo de manifesto será alterado de acordo com o que ApplicationIdvocê alterou build.gradle. Por causa da vibração ao criar um apk e o google play, considere o ApplicationIdbuild.gradle. Esta solução funcionou para mim.

fonte: Documentação Oficial

yash
fonte
1

Eu tinha dois arquivos manifest.xml na minha seção de aplicativos, então precisava alterar o nome do pacote nos doisAqui você pode ver

Progga Ilma
fonte
0

Você pode seguir esta documentação oficial do Google: https://developer.android.com/studio/build/application-id.html

O ID do aplicativo deve ser alterado no Build.gradle, enquanto o nome do pacote pode ser alterado no AndroidManifest.xml.

No entanto, deve-se ter cuidado ao alterar o nome do pacote.

Além disso, durante o upload do aplicativo, é preciso ter cuidado, pois ele corresponde ao ID do aplicativo enviado anteriormente com o novo upload.

Abhijeet Singh
fonte
0

No Android, altere o ID do aplicativo em

> build.gradle

mudança de arquivo e iOS

> nome do pacote nas configurações do projeto.

Gurwinder Singh
fonte
0

Mesmo que minha resposta não seja aceita como correta, sinto que todas essas respostas acima me causaram mais problemas.

  1. Obter texto sublime (louco, certo? Não, basta seguir meus passos)
  2. Clique no arquivo e selecione abrir pasta, depois escolha a pasta do projeto em que está trabalhando
  3. Agora clique em Localizar nas guias e selecione Localizar nos arquivos ou faça Ctrl+ Shift+ F (para usuários do Windows, para usuários do Mac que você já conhece).
  4. Agora copie e cole exatamente o nome do pacote que você deseja alterar na seção Localizar e cole na seção substituir com a qual você deseja substituir o nome do pacote.
  5. Clique em FIND (não clique em REPLACE ainda).
  6. Agora, clicando em Localizar lista todos os nomes de pacotes disponíveis no seu projeto que correspondem aos seus critérios de pesquisa; se você estiver satisfeito com isso, repita a partir de não. 3, mas desta vez clique em SUBSTITUIR.
  7. Reconstrua seu projeto e divirta-se

Conclusão: basta um programa simples de localização e substituição para solucionar esse problema, e eu recomendo enfaticamente o Sublime Text 3.

Amos Mensah Kyei
fonte