Gibt es eine Möglichkeit, den Paketnamen des Flutter-Projekts zu ändern?
Ich möchte den Paketnamen und den Anwendungsnamen im Flatterprojekt ändern.
flutter create --org com.domain app_name
Gibt es eine Möglichkeit, den Paketnamen des Flutter-Projekts zu ändern?
Ich möchte den Paketnamen und den Anwendungsnamen im Flatterprojekt ändern.
flutter create --org com.domain app_name
Antworten:
Für Android App Name
Ändern Sie den Labelnamen in Ihrer AndroidManifest.xml
Datei:
<application
android:name="io.flutter.app.FlutterApplication"
android:label="TheNameOfYourApp"
Für Paketnamen
Ändern Sie den Paketnamen in Ihrer AndroidManifest.xml
Datei:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
Auch in Ihrer build.gradle
Datei im App-Ordner
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Ändern Sie MainActivity.java
abschließend das Paket in Ihrer Klasse (wenn MainActivity.java nicht verfügbar ist, überprüfen Sie 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 {
Ändern Sie den Verzeichnisnamen:
Von:
android\app\src\main\java\com\example\name
Zu:
android\app\src\main\java\your\package\name
EDITIERT: 27-Dec-18
Für den Paketnamen ändern Sie einfach build.gradle
nur den Build
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Für iOS
Ändern Sie die Bundle-ID aus Ihrer Info.plist
Datei in Ihrem ios/Runner
Verzeichnis.
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
AKTUALISIEREN
Um zu vermeiden, dass die Paket- und Bundle-ID umbenannt wird, können Sie Ihr Projekt mit diesem Befehl in Ihrem Terminal starten:
flutter create --org com.yourdomain appname
$(PRODUCT_BUNDLE_IDENTIFIER)
. Wo versteckt sich diese Variable?
Das manuelle Ändern des Namens scheint nicht zu funktionieren, wirft Gradle-Fehler aus, in meinem Fall wirft es Fehler.
Also erstelle ich normalerweise ein neues Flatterprojekt.
Ich benutze den unten genannten Befehl, um eine neue Flatter-App zu erstellen
flutter create --org com.yourdomain appname
Ihr Projekt hat den Paketnamen -> com.yourdomain.appname
Wenn Sie nur Ihren Paketnamen beibehalten möchten, nehmen Sie com.appname
die folgenden Änderungen vor
flutter create --org com appname
hinzuzufügen Java statt kotlin
für android
add-a java
flutter create -a java --org com.yourdomain appname
In Android befindet sich der Paketname im AndroidManifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
package="com.example.appname">
Unter iOS ist der Paketname die Bundle-ID in Info.plist:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
welches in Runner.xcodeproj / project.pbxproj gefunden wird :
PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
Der Paketname befindet sich an mehreren Stellen. Um den Namen zu ändern, sollten Sie das gesamte Projekt nach Vorkommen Ihres alten Projektnamens durchsuchen und alle ändern.
Android Studio und VS Code:
Vielen Dank an diegoveloper für die Hilfe bei iOS.
Nachdem ich einige Male auf diese Seite zurückgekommen bin, denke ich, dass es einfacher und sauberer ist, ein neues Projekt mit dem richtigen Namen zu starten und dann die alten Dateien zu kopieren.
Für diejenigen wie mich, die bestimmte Dateien nicht ändern möchten, habe ich https://pub.dev/packages/rename verwendet .
Installation: pub global activate rename
Und dann läuft: pub global run rename --bundleId com.example.android.app --target android
Ändern Sie in allen AndroidManifest.xml- Dateien Ihres Flutter-Projekts -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) und (app / src / main / AndroidManifest.xml ) und (app / src / profile / AndroidManifest.xml )
gut aussehen !!
So habe ich das Paket für iOS und Android umbenannt
applicationId "com.company.name"
app/src/main
und benennen Sie package="com.company.name"
und umandroid:label="App Name"
app/src/debug
und benennen Sie umpackage="com.company.name"
app/src/profile
und benennen Sie umpackage="com.company.name"
app/src/main/kotlin/com/something/something/MainActivity.kt
und benenne umpackage="com.company.name"
app/src/main/kotlin/
jedem Verzeichnis und benennen Sie es um, damit die Struktur so aussiehtapp/src/main/kotlin/com/company/name/
pubspec.yaml
in Ihrem Projekt und ändern name: something
zu name: name
, Beispiel: - wenn Paketname ist com.abc.xyz
diename: xyz
com.company.name
flutter clean
Aktualisiert Sie müssen den Paketnamen an diesen fünf Speicherorten in den gewünschten Paketnamen ändern.
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"
Der letzte Schritt ist zu laufen flutter clean
Laut der offiziellen Flatterdokumentation müssen Sie nur das ApplicationId
In- app/build.gradle
Verzeichnis ändern . Dann müssen Sie nur noch Ihre apk erstellen und der Paketname der Manifestdatei wird entsprechend der von ApplicationId
Ihnen geänderten geändert build.gradle
. Wegen des Flatterns beim ApplicationId
Erstellen einer Apk und von Google Play berücksichtigen beide von build.gradle. Diese Lösung hat bei mir funktioniert.
Quelle: Offizielle Dokumentation
Sie können dieser offiziellen Dokumentation von Google folgen: https://developer.android.com/studio/build/application-id.html
Die Anwendungs-ID sollte in Build.gradle geändert werden, während der Paketname in AndroidManifest.xml geändert werden kann.
Man sollte jedoch vorsichtig sein, den Paketnamen zu ändern.
Auch beim erneuten Hochladen der App sollte man vorsichtig sein, da sie mit der Anwendungs-ID der zuvor hochgeladenen App mit dem neuen Upload übereinstimmt.
Ändern Sie in Android die Anwendungs-ID in
> build.gradle
Datei und iOS ändern sich
> Bundle-Name aus den Projekteinstellungen.
Selbst wenn meine Antwort nicht als die richtige Antwort akzeptiert wird, habe ich das Gefühl, dass all diese Antworten oben zu weiteren Problemen geführt haben. So habe ich sie behoben
Fazit: Ein einfaches Programm zum Suchen und Ersetzen ist alles, was Sie brauchen, um dieses Problem zu lösen, und ich empfehle Sublime Text 3 dringend.