Trước khi tôi tạo dự án android cho hai ứng dụng khác nhau được thanh toán và miễn phí.Xây dựng android với gradle, thay thế chuỗi mỗi hương vị sản phẩm
Tôi đã thay đổi từng giá trị và chuỗi vì vậy hôm qua tôi đã phạm một sai lầm lớn.
Vì vậy, tôi đang sáng suốt cách sử dụng gradle để xây dựng ứng dụng của mình.
Ứng dụng của tôi có một số điểm khác biệt.
tên ứng dụng (chỉ cần thêm hậu tố '-Miễn phí') -> giá trị/string.xml
thay đổi cờ trong * .java tôi
// signingConfigs được Bỏ qua phần.
productFlavors{
free{
packageName "my.app.free"
versionCode 20
signingConfig signingConfigs.freeConfing
copy{
from('/res'){
include '**/*.xml'
}
into 'build/res/'
filter{
String line -> line.replaceAll("android:label=\"@string/app_name\"", "android:label=\"@string/app_name_free\"")
}
}
copy{
from('/src'){
include '**/*.java'
}
into 'build/src/'
filter{
String line -> line.replaceAll("public static final Boolean IS_FULL_VER = true;", "public static final Boolean IS_FULL_VER = false;")
}
}
}
paid{
packageName "my.app.paid"
versionCode 20
signingConfig signingConfigs.paidConfing
}
}
nhưng, ứng dụng được xây dựng không thay đổi gì cả.
Những gì tôi đã bỏ lỡ?
Cảm ơn! Bây giờ tôi có thể xây dựng với loại kiếm tiền khác nhau. Nhưng tôi không thể thay đổi tên ứng dụng của mình. Cấu trúc dự án của tôi không giống nhau. Trong dự án của tôi, **/src/my/app/**/*. Java, /res/values/string.xml**. Đó có phải là cấu trúc dự án maven không? Tôi có thể phải thay đổi cấu trúc dự án không? –
Cấu trúc dự án của tôi là cấu trúc dự án Android Studio/Gradle mới. Xem tài liệu http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Product-flavors. Nó sẽ giải thích mọi thứ. Có, bạn có thể phải thay đổi các thư mục của bạn, nhưng nó thực sự không phải là khó khăn để làm điều đó. Tạo một dự án mẫu mới cho studio android và xem tệp build.gradle đó và cách các thư mục được thiết lập. Sau đó thay đổi dự án của bạn để phản ánh cấu trúc đó. – treesAreEverywhere
Tôi làm cách nào để tham chiếu app_title trong AndroidManifest.xml? Tôi đã thử @ apptitle/app_title nhưng không thể giải quyết được. – dannyroa