Czy istnieje sposób na zmianę nazwy pakietu projektu Flutter?
Chcę zmienić nazwę pakietu i nazwę aplikacji w projekcie flutter.
Czy istnieje sposób na zmianę nazwy pakietu projektu Flutter?
Chcę zmienić nazwę pakietu i nazwę aplikacji w projekcie flutter.
flutter create --org com.domain app_name
Odpowiedzi:
Nazwa aplikacji na Androida
Zmień nazwę etykiety w AndroidManifest.xml
pliku:
<application
android:name="io.flutter.app.FlutterApplication"
android:label="TheNameOfYourApp"
Nazwa pakietu
Zmień nazwę pakietu w swoim AndroidManifest.xml
pliku:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
Również w build.gradle
pliku w folderze aplikacji
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Na koniec zmień pakiet w swojej MainActivity.java
klasie (jeśli plik MainActivity.java nie jest dostępny, sprawdź plik 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 {
Zmień nazwę katalogu:
Z:
android\app\src\main\java\com\example\name
Do:
android\app\src\main\java\your\package\name
EDYTOWANO: 27 grudnia 18
do nazwy pakietu wystarczy zmienić w kompilacji build.gradle
tylko
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Na iOS
Zmień identyfikator pakietu z Info.plist
pliku w ios/Runner
katalogu.
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
AKTUALIZACJA
Aby uniknąć zmiany nazwy pakietu i identyfikatora pakietu, możesz rozpocząć projekt za pomocą tego polecenia w terminalu:
flutter create --org com.yourdomain appname
$(PRODUCT_BUNDLE_IDENTIFIER)
. Gdzie ukrywa się ta zmienna?
Ręczna zmiana nazwy wydaje się nie działać, generuje błędy gradle, w moim przypadku generuje błąd.
Dlatego zazwyczaj tworzę nowy projekt trzepoczący.
Używam poniższego polecenia, aby utworzyć nową aplikację flutter
flutter create --org com.yourdomain appname
Twój projekt będzie miał nazwę pakietu jako -> com.yourdomain.appname
jeśli chcesz tylko zachować nazwę swojego pakietu, a com.appname
następnie wprowadź zmiany, jak poniżej
flutter create --org com appname
aby dodać java zamiast kotlin
for android
add-a java
flutter create -a java --org com.yourdomain appname
Dla takich jak ja, którzy nie lubią zmieniać określonych plików, użyłem https://pub.dev/packages/rename .
Instalowanie: pub global activate rename
A potem bieganie: pub global run rename --bundleId com.example.android.app --target android
W systemie Android nazwa pakietu znajduje się w pliku AndroidManifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
package="com.example.appname">
W iOS nazwa pakietu to identyfikator pakietu w Info.plist:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
który znajduje się w Runner.xcodeproj / project.pbxproj :
PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
Nazwa pakietu znajduje się w więcej niż jednej lokalizacji, więc aby zmienić nazwę, należy przeszukać cały projekt pod kątem wystąpień nazwy starego projektu i zmienić je wszystkie.
Android Studio i VS Code:
Podziękowania dla diegoveloper za pomoc przy iOS.
Po kilkukrotnym powrocie na tę stronę myślę, że po prostu łatwiej i czyściej jest rozpocząć nowy projekt o właściwej nazwie, a następnie skopiować stare pliki.
.git
katalogu w katalogu głównym), a następnie umieścić nowy projekt w tym samym katalogu, co stary. Następnie zatwierdź i prześlij zmiany.
W ten sposób zmieniłem nazwę pakietu na iOS i Android
applicationId "com.company.name"
app/src/main
i zmień jego nazwępackage="com.company.name"
iandroid:label="App Name"
app/src/debug
i zmień jego nazwępackage="com.company.name"
app/src/profile
i zmień jego nazwępackage="com.company.name"
app/src/main/kotlin/com/something/something/MainActivity.kt
i zmień nazwępackage="com.company.name"
app/src/main/kotlin/
każdego katalogu i zmień jego nazwę, aby wyglądała jak strukturaapp/src/main/kotlin/com/company/name/
pubspec.yaml
swojego projektu i zmian name: something
do name: name
, przykładowo: - jeśli nazwa pakietu jestcom.abc.xyz
name: xyz
com.company.name
flutter clean
zmień wszystkie pliki AndroidManifest.xml projektu Flutter, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) i (app / src / main / AndroidManifest.xml ) i (app / src / profile / AndroidManifest.xml )
dobry wygląd !!
Zgodnie z oficjalną dokumentacją fluttera wystarczy zmienić katalog ApplicationId
in app/build.gradle
. Następnie musisz po prostu zbudować swój apk, a nazwa pakietu pliku manifestu zostanie zmieniona zgodnie ze ApplicationId
zmianą w build.gradle
. Z powodu trzepotania podczas budowania apk i Google Play oba rozważają ApplicationId
z build.gradle. To rozwiązanie zadziałało dla mnie.
źródło: Official Documentation
Zaktualizowano Musisz zmienić nazwę pakietu na żądaną nazwę pakietu w tych pięciu lokalizacjach.
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"
ostatnim krokiem jest bieganie flutter clean
Możesz śledzić tę oficjalną dokumentację Google: https://developer.android.com/studio/build/application-id.html
Identyfikator aplikacji należy zmienić w Build.gradle, natomiast nazwę pakietu można zmienić w AndroidManifest.xml.
Należy jednak uważać przy zmianie nazwy pakietu.
Również podczas ponownego przesyłania aplikacji należy zachować ostrożność, ponieważ jest ona zgodna z identyfikatorem aplikacji poprzednio przesłanej aplikacji przy nowym przesłaniu.
W systemie Android zmień identyfikator aplikacji w
> build.gradle
plik i zmiana iOS
> nazwa pakietu z ustawień projektu.
Nawet jeśli moja odpowiedź nie zostanie zaakceptowana jako poprawna, po prostu czuję, że wszystkie powyższe odpowiedzi spowodowały, że mam więcej problemów, oto jak to naprawiłem
Wniosek: prosty program do znajdowania i zamieniania to wszystko, czego potrzebujesz, aby rozwiązać ten problem, i zdecydowanie polecam do tego Sublime Text 3.
Po wypróbowaniu wszystkich powyższych. Prosta praca dla mnie, aby zmienić nazwę pakietu flutter w Android Studio :
Krok 1:
Prochowiec: Command + Shift + R
Linux / Windows: Ctrl + Shift + R
Po zmianie na nowy pakiet i naciśnij Replace All
i poczekaj na zakończenie uruchomienia Android Studio .
Krok 2:
Następnie przejdź do AndroidManifest.xml
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
i skopiuj package name
i wykonaj ten sam krok 1, aby zmienić nazwę package
w AndroidManifest
i build.gradle
.
Na koniec zmień pakiet w klasie MainActivity.java (jeśli plik MainActivity.java nie jest dostępny, sprawdź plik 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 {
Zmień nazwę katalogu. Szczegółowe informacje można znaleźć w poniższy link to :
Z:
android\app\src\main\java\com\example\name
Do:
android\app\src\main\java\your\new_package\name