Android Studio build ผลิตภัณฑ์รสชาติใดตามค่าเริ่มต้นใน build.gradle


160

เรามีโครงการ Android ที่ใช้ระบบการสร้าง Gradle ใหม่และเราใช้ Android Studio เป็นเครื่องมือในการพัฒนา เมื่อมีรสชาติของผลิตภัณฑ์หลายอย่างที่ระบุไว้build.gradleเราจะสังเกตเห็นว่า Android Studio สร้างตัวแรกที่ระบุตามตัวอักษร มีวิธีที่จะบอก Android Studio ในการสร้างและทดสอบเฉพาะรสชาติของผลิตภัณฑ์ในระหว่างการพัฒนาหรือไม่?

คำตอบ:


334

ที่ด้านล่างซ้ายของหน้าต่างสตูดิโอจะมีมุมมองเชื่อมต่อที่เรียกว่า "Build Variants"

เปิดและเลือกชุดตัวเลือกใดก็ได้ที่คุณต้องการ สิ่งนี้จะส่งผลกระทบต่อชุดตัวเลือกที่สร้างขึ้น แต่ยังรวมถึงโฟลเดอร์ที่เปิดใช้งานซึ่งจะทำให้เกิดความสมบูรณ์ในโค้ดและตัวแก้ไขทรัพยากร


15
เย็น. มีวิธีปรับแต่งอันที่มันชอบเมื่อนำเข้าเริ่มต้นหรือไม่
Joe

3
ฉันไม่คิดอย่างนั้น ฉันสามารถถามวิศวกรที่ทำมันถ้าเราสามารถเพิ่มสิ่งนี้ได้ แต่นี่น่าจะแตกต่างกันไปในแต่ละโครงการถ้าคุณมีรสนิยม
Xavier Ducrohet

34
สายพันธุ์คือการรวมกันของรสชาติ (s) และสร้างประเภท คุณสามารถปรับใช้ตัวแปรได้เท่านั้น คุณไม่สามารถสร้าง apk ที่เป็นเพียงรสชาติได้
Xavier Ducrohet

5
หากคุณสนใจคุณสามารถใช้บรรทัดคำสั่งเพื่อสร้างชุดตัวเลือกที่ระบุ: ./gradlew ประกอบ <Flavour1> <Flavour2> <Flavour2> <... > <BuildType> เช่น assembleGooglePlayRelease และคุณสามารถสร้างและติดตั้งบนอุปกรณ์หรืออีมูเลเตอร์ที่เชื่อมต่อโดยใช้: ./gradlew ติดตั้ง <Flavour1> <Flavour2> <... >> <BuildType>
Deepscorn

5
แต่ด้วยรสชาติของผลิตภัณฑ์ใดสตูดิโอ Android จะสร้างแอปพลิเคชันโดยค่าเริ่มต้น
Malwinder Singh

20

ขณะนี้ดูเหมือนจะไม่มีวิธีการเลือกรสชาติเริ่มต้น มีคำขอคุณสมบัติในตัวติดตามปัญหา Android สำหรับมัน:

https://code.google.com/p/android/issues/detail?id=64917

คุณสามารถติดดาว / โหวตคำขอได้


3
คุณลักษณะนี้จะอยู่ใน Android Studio 3.5 ไม่มีเรื่องตลก - สิ่งนี้ใช้เวลา 5 ปีในการดำเนินการ !! (ดูวันที่สร้างตั๋ว)
คนอยู่ที่ไหนสักแห่งที่

4

ใช่มีวิธี:

android {
    productFlavors {
        foo {
            isDefault true
        }
    }
}

และชุดตัวเลือกอื่น ๆ ที่มีประเภทบิลด์ debug

มันถูกเพิ่มใน Android Studio 3.5 ดูคำขอคุณสมบัติ :

"รวมอยู่ในปลั๊กอิน Android Gradle 3.5.0-alpha08 และ Android Studio 3.5 Canary 8 [3.5.0.7]

ฮิวริสติกสำหรับโครงการที่ใช้ AGP ที่เก่ากว่าและโครงการที่ไม่มีการตั้งค่าที่ชัดเจนได้รับการอัปเดตเพื่อสนับสนุนตัวแปรที่มีการดีบักชนิดบิลด์ตามที่อธิบายในข้อความยืนยัน "


-1

คุณสามารถระบุคำสั่งที่เรียกใช้ในส่วนก่อนที่จะทำการสร้าง Gradle-aware Make

คุณสามารถแสดงรายการการไล่ระดับสีทั้งหมดโดย gradlew tasks

ป้อนคำอธิบายรูปภาพที่นี่


ฉันลองและในขณะที่มันส่งผลให้มีเพียงรสชาติเดียวที่สร้างขึ้นอย่างแน่นอน แต่ Android Studio จะยังคงเปิดตัวรุ่นที่เลือกไว้เท่านั้น ยิ่งไปกว่านั้นถ้าฉันเลือกกิจกรรมเฉพาะที่ไม่ได้อยู่ในตัวแปรที่เลือกฉันจะได้รับข้อความแสดงข้อผิดพลาดที่ทำให้สับสนว่า "กิจกรรมนั้นจะต้องถูกส่งออกหรือมีตัวกรองเจตนา" ข้อผิดพลาดหายไปเมื่อฉันเปลี่ยนการเลือก bariant ที่สร้าง
Dagmar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.