Có cách nào để thay đổi Tên gói của dự án Flutter không?
Tôi muốn thay đổi tên gói và tên ứng dụng trong dự án flutter.
flutter create --org com.domain app_name
Có cách nào để thay đổi Tên gói của dự án Flutter không?
Tôi muốn thay đổi tên gói và tên ứng dụng trong dự án flutter.
flutter create --org com.domain app_name
Câu trả lời:
Đối với tên ứng dụng Android
Thay đổi tên nhãn trong AndroidManifest.xml
tệp của bạn :
<application
android:name="io.flutter.app.FlutterApplication"
android:label="TheNameOfYourApp"
Đối với tên gói
Thay đổi tên gói trong AndroidManifest.xml
tệp của bạn :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
Cũng trong build.gradle
tập tin của bạn trong thư mục ứng dụng
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Cuối cùng, thay đổi gói trong MainActivity.java
lớp của bạn (nếu MainActivity.java không có sẵn, hãy kiểm tra 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 {
Thay đổi tên thư mục:
Từ:
android\app\src\main\java\com\example\name
Đến:
android\app\src\main\java\your\package\name
EDITED: 27-ngày 18 tháng 12
cho tên gói chỉ cần thay đổi trong xây dựng build.gradle
chỉ
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Dành cho iOS
Thay đổi định danh gói từ Info.plist
tệp của bạn trong ios/Runner
thư mục của bạn .
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
CẬP NHẬT
Để tránh đổi tên gói và gói định danh gói, bạn có thể bắt đầu dự án của mình bằng lệnh này trong thiết bị đầu cuối của bạn:
flutter create --org com.yourdomain appname
$(PRODUCT_BUNDLE_IDENTIFIER)
. Đâu là biến ẩn?
Thay đổi tên bằng tay dường như không hoạt động, ném lỗi lớp, trong trường hợp của tôi, nó không có lỗi.
Vì vậy, tôi thường tạo ra một dự án rung mới.
Tôi sử dụng lệnh được đề cập dưới đây để tạo một ứng dụng rung mới
flutter create --org com.yourdomain appname
dự án của bạn sẽ có tên gói là -> com.yourdomain.appname
nếu bạn chỉ muốn giữ tên gói của mình com.appname
thì hãy thực hiện một số thay đổi như dưới đây
flutter create --org com appname
để thêm java thay vì kotlin
cho android
add-a java
flutter create -a java --org com.yourdomain appname
Trong Android, tên gói nằm trong AndroidManifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
package="com.example.appname">
Trong iOS, tên gói là số nhận dạng gói trong Info.plist:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
được tìm thấy trong Runner.xcodeproj / project.pbxproj :
PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
Tên gói được tìm thấy ở nhiều hơn một vị trí, vì vậy để thay đổi tên, bạn nên tìm kiếm toàn bộ dự án cho các lần xuất hiện của tên dự án cũ của bạn và thay đổi tất cả.
Android Studio và Mã VS:
Cảm ơn diegigsoper đã giúp đỡ với iOS.
Sau khi quay lại trang này một vài lần khác, tôi nghĩ việc bắt đầu một dự án mới với tên đúng và sau đó sao chép các tệp cũ trở nên dễ dàng và sạch sẽ hơn.
Đối với những người như tôi không muốn thay đổi các tệp cụ thể, tôi đã sử dụng https://pub.dev/packages/rename .
Cài đặt: pub global activate rename
Và sau đó, chạy: pub global run rename --bundleId com.example.android.app --target android
Đây là cách tôi đổi tên gói cho cả ios và android
applicationId "com.company.name"
app/src/main
và đổi tên package="com.company.name"
vàandroid:label="App Name"
app/src/debug
và đổi tênpackage="com.company.name"
app/src/profile
và đổi tênpackage="com.company.name"
app/src/main/kotlin/com/something/something/MainActivity.kt
và đổi tênpackage="com.company.name"
app/src/main/kotlin/
và đổi tên từng thư mục để cấu trúc trông giống nhưapp/src/main/kotlin/com/company/name/
pubspec.yaml
dự án và thay đổi của bạn name: something
để name: name
, ví dụ: - nếu tên gói là com.abc.xyz
cácname: xyz
com.company.name
flutter clean
thay đổi trong tất cả các tệp AndroidManifest.xml của Dự án Flutter của bạn, -> gói = "your.name.app " (app / src / debug / AndroidManifest.xml ) và (app / src / main / AndroidManifest.xml ) và (app / src / profile / AndroidManifest.xml )
ưa nhìn !!
Đã cập nhật Bạn phải thay đổi tên gói thành tên gói bạn muốn trong năm vị trí này.
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"
bước cuối cùng là chạy flutter clean
Theo tài liệu rung chính thức, bạn chỉ cần thay đổi ApplicationId
trong app/build.gradle
thư mục. Sau đó, bạn chỉ cần xây dựng apk của mình và tên gói của tệp kê khai sẽ được thay đổi theo ApplicationId
bạn đã thay đổi build.gradle
. Bởi vì rung động trong khi xây dựng apk và google chơi cả hai đều xem xét ApplicationId
từ build.gradle. Giải pháp này đã làm việc cho tôi.
nguồn: Tài liệu chính thức
Bạn có thể làm theo tài liệu chính thức này của Google: https://developer.android.com/studio/build/application-id.html
ID ứng dụng nên được thay đổi trong Build.gradle, trong khi tên gói có thể được thay đổi trong AndroidManifest.xml.
Tuy nhiên, nên cẩn thận thay đổi tên gói.
Ngoài ra, trong khi tải lên lại ứng dụng, người ta nên cẩn thận vì nó khớp với ID ứng dụng của ứng dụng đã tải lên trước đó với tải lên mới.
Trong Android, thay đổi id ứng dụng trong
> build.gradle
thay đổi tệp và iOS
> tên gói từ cài đặt dự án.
Ngay cả khi câu trả lời của tôi không được chấp nhận là câu trả lời đúng, tôi chỉ cảm thấy tất cả những câu trả lời trên khiến tôi gặp nhiều vấn đề hơn ở đây là cách tôi sửa nó
Kết luận: một chương trình tìm và thay thế đơn giản là tất cả những gì bạn cần để giải quyết vấn đề này và tôi thực sự khuyên bạn nên sử dụng Sublime Text 3 cho điều đó.