flutterでパッケージ名を変更する方法は?


155

Flutterプロジェクトのパッケージ名を変更する方法はありますか?

flutterプロジェクトのパッケージ名とアプリケーション名を変更したい。


4
すべてのファイルで古いパッケージ名をすべて検索して置き換えるだけです。名前を更新するコマンドまたは同様のものはまだありません。
ギュンターZöchbauer

3
新しいプロジェクトを作成するときは、パッケージ名をflutter create --org com.domain app_name
Victor

回答:


284

Androidアプリ名の場合

AndroidManifest.xmlファイルのラベル名を変更します。

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

パッケージ名

AndroidManifest.xmlファイルのパッケージ名を変更します。

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

また、build.gradleアプリフォルダー内のファイル内

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

最後に、MainActivity.javaクラスのパッケージを変更します(MainActivity.javaが使用できない場合は、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 {

ディレクトリ名を変更します。

から:

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

に:

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

編集:2018年12月27日

以下のためのパッケージ名だけビルドで変更build.gradleのみ

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

iOSの場合

バンドル識別子をディレクトリInfo.plist内のファイルから変更しますios/Runner

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

更新

パッケージとバンドル識別子の名前を変更しないようにするには、ターミナルで次のコマンドを使用してプロジェクトを開始できます。

flutter create --org com.yourdomain appname

1
以下のディレクトリ名も更新する必要がありました(「example」を「woods」に変更)C:\ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw

1
iOSはどうですか?
Suragch

9
バンドルIDは$(PRODUCT_BUNDLE_IDENTIFIER)です。変数の非表示はどこにありますか?
Suragch

3
PRODUCT_BUNDLE_IDENTIFIERは、ios / Runner.xcodeprojディレクトリのproject.pbxprojファイルの複数の場所に格納されています。
Safa Alai

3
appIDは、ドットで区切られた3ワードの形式でなければならないことに言及する価値があります。
Raj Krishnan R

23

名前を手動で変更してもうまくいかないようで、gradleエラーがスローされます。私の場合、エラーがスローされます。

だから私は通常、新しいflutterプロジェクトを作成します。

以下のコマンドを使用して、新しいFlutterアプリを作成します

flutter create --org com.yourdomain appname

プロジェクトのパッケージ名は->になります。 com.yourdomain.appname


パッケージ名をそのままにしたい場合はcom.appname、以下のように変更してください

flutter create --org com appname

追加の代わりにJava kotlinandroid追加する-a java

flutter create -a java --org com.yourdomain appname

そして、それも非常に速い
グリフィン

2
「flutter create --org com.yourcompany --project-name new_app_name」(既存のプロジェクト内にいる場合は、ピリオドを追加します。最初にandroidおよびiosフォルダーをゴミ箱に移動して、それらを再生成する必要があります)。答えを出すには、バックアップを作成することが重要です。
トミーC.

20

アンドロイド

Androidでは、パッケージ名はAndroidManifestにあります。

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

iOS

iOSでは、パッケージ名はInfo.plist内のバンドルIDです。

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

で発見されたRunner.xcodeproj / project.pbxproj

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

名前を変える

パッケージ名が複数の場所にあるため、名前を変更するには、プロジェクト全体で古いプロジェクト名の出現を検索し、すべて変更する必要があります。

Android StudioとVSコード:

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

iOSのヘルプについては、diegoveloperに感謝します。

更新:

何度かこのページに戻った後、正しい名前で新しいプロジェクトを開始し、古いファイルをコピーする方が簡単でわかりやすいと思います。


19

(1行目)のname属性を変更pubspec.yaml

apkの名前についてはandroid:labelAndroidManifest.xml


1
MainActivity.javaまたはmainActivity.ktの変更が必要
Epsi95

18

特定のファイルを変更したくない私のような人のために、私はhttps://pub.dev/packages/renameを使用しました。

インストール: pub global activate rename

そして、実行: pub global run rename --bundleId com.example.android.app --target android


7

これは、iOSとAndroidの両方のパッケージの名前を変更する方法です

  1. アプリモジュールのbuild.gradleに移動して名前を変更します applicationId "com.company.name"
  2. のManifest.xmlに移動しapp/src/main、名前を変更package="com.company.name"してandroid:label="App Name"
  3. のManifest.xmlに移動してapp/src/debug名前を変更しますpackage="com.company.name"
  4. のManifest.xmlに移動します app/src/profile名前を変更しますpackage="com.company.name"
  5. に行く app/src/main/kotlin/com/something/something/MainActivity.ktて名前を変更package="com.company.name"
  6. に行く app/src/main/kotlin/各ディレクトリにて名前を変更し、構造が次のようになるようにします。app/src/main/kotlin/com/company/name/
  7. pubspec.yamlプロジェクトに移動し、に変更name: somethingしますname: name。例:-パッケージ名がcom.abc.xyzname: xyz
  8. libフォルダー内の各dartファイルに移動し、インポートの名前を変更した名前に変更します。
  9. XCodeを開いてランナーファイルを開き、プロジェクトエクスプローラーで[ランナー]をクリックします。
  10. 一般に移動->バンドル識別子をダブルクリック->名前を com.company.name
  11. Info.plistに移動し、バンドル名をクリックします->名前をアプリ名に変更します。
  12. すべてを閉じる-> flutterプロジェクトに移動し、ターミナルでこのコマンドを実行します flutter clean

6

FlutterプロジェクトのすべてのAndroidManifest.xmlファイルを変更します-> package = "your.name.app "(app / src / debug / AndroidManifest.xml)および(app / src / main / AndroidManifest.xml)および(app / src / profile / AndroidManifest.xml

よく見る!


パーシーに感謝します。この問題に直面していました。あなたの答えを見つけました。
開発者

3

更新これらの5つの場所で、パッケージ名を目的のパッケージ名に変更する必要があります。

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"

最後のステップは実行することです flutter clean


3

Visual Studioコード

編集>ファイルで置換

ファイル内のコードの置き換え

Androidスタジオ

1.プロジェクトを右クリック>パスで置換

パスで置き換える

2.古いパッケージと新しいパッケージを書く>すべてを置き換える

すべてのスクリーンショットを置き換える


omg、あなたは最高です
N Sivaram

3

公式フラッターのドキュメントによると、あなただけの変更が必要ApplicationIdapp/build.gradleディレクトリ。次に、apkをビルドするだけで、マニフェストファイルのパッケージ名が、での変更に応じてApplicationId変更されbuild.gradleます。APKとGoogle Playの両方を構築するときのばたつきのため、ApplicationId build.gradleからしてください。この解決策は私にとってうまくいきました。

出典:公式ドキュメント


1

appセクションにmanifest.xmlファイルが2つあるため、両方でパッケージ名を変更する必要がありましたここで見ることができます


0

Googleの次の公式ドキュメントに従ってください。 https //developer.android.com/studio/build/application-id.html

アプリケーション名はBuild.gradleで変更する必要がありますが、パッケージ名はAndroidManifest.xmlで変更できます。

ただし、パッケージ名の変更には注意が必要です。

また、アプリを再アップロードする際は、以前にアップロードしたアプリのアプリIDと新しいアップロードを照合するため、注意が必要です。


0

Androidでは、アプリケーションIDを変更します

> build.gradle

ファイルとiOSの変更

>プロジェクト設定からのバンドル名。


0

私の答えが正解として受け入れられない場合でも、上記のこれらのすべての答えが私にここでさらに問題を引き起こしたと感じているだけです

  1. Sublime Textを入手する(クレイジーですよね?いいえ、私の手順に従ってください)
  2. ファイルをクリックし、開いているフォルダーを選択してから、作業中のプロジェクトのフォルダーを選択します
  3. 次に、[タブから検索]をクリックし、[ファイルから検索]を選択するか、Ctrl+ Shift+ F を実行します(Windowsユーザーの場合、Macユーザーの場合は、すでにドリルを知っています)
  4. 次に、変更するパッケージの名前を正確にコピーして[検索]セクションに貼り付け、置換セクションに、パッケージ名を置き換えるものを貼り付けます。
  5. FINDをクリックします(まだREPLACEをクリックしないでください)。
  6. [検索]をクリックすると、検索条件に一致するプロジェクト内のすべての利用可能なパッケージ名が一覧表示されます。これに満足したら、noから繰り返します。3しかし、今度はREPLACEをクリックします。
  7. プロジェクトを再構築して楽しんでください

結論:この問題を解決するために必要なのは、単純な検索と置換プログラムだけです。そのためには、Sublime Text 3を強くお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.