ฉันเห็นความแตกต่างมากมายเกี่ยวกับcompiledSdkVersion
คำตอบก่อนหน้าดังนั้นฉันจะพยายามอธิบายให้ชัดเจนที่นี่ตามหน้าเว็บของ android
เอ - สิ่งที่ Android พูดว่า
ตามhttps://developer.android.com/guide/topics/manifest/uses-sdk-element.html :
การเลือกเวอร์ชั่นแพลตฟอร์มและระดับ API เมื่อคุณพัฒนาแอปพลิเคชันของคุณคุณจะต้องเลือกเวอร์ชันแพลตฟอร์มที่คุณจะรวบรวมแอปพลิเคชัน โดยทั่วไปคุณควรรวบรวมแอปพลิเคชันของคุณกับเวอร์ชันที่ต่ำที่สุดที่เป็นไปได้ของแพลตฟอร์มที่แอปพลิเคชันของคุณสามารถรองรับได้
ดังนั้นนี่จะเป็นลำดับที่ถูกต้องตาม Android:
compiledSdkVersion = minSdkVersion <= targetSdkVersion
B - สิ่งที่คนอื่นพูดด้วย
บางคนชอบใช้ compiledSkdVersion สูงสุดที่มีอยู่เสมอ เป็นเพราะพวกเขาจะพึ่งพาคำแนะนำโค้ดเพื่อตรวจสอบว่าพวกเขากำลังใช้คุณสมบัติ API ที่ใหม่กว่า minSdkVersion หรือไม่ดังนั้นการเปลี่ยนรหัสให้ไม่ใช้พวกเขาหรือตรวจสอบเวอร์ชัน API ของผู้ใช้ที่รันไทม์
คำแนะนำเกี่ยวกับการใช้งานที่เลิกใช้แล้วจะปรากฏในโค้ดแจ้งให้คุณทราบว่ามีบางสิ่งที่เลิกใช้ในระดับ API ที่ใหม่กว่าดังนั้นคุณสามารถตอบสนองได้ตามต้องการ
ดังนั้นนี่จะเป็นลำดับที่ถูกต้องตามที่คนอื่น ๆ :
minSdkVersion <= targetSdkVersion <= compiledSdkVersion (highest possible)
จะทำอย่างไร?
ขึ้นอยู่กับคุณและแอพของคุณ
หากคุณวางแผนที่จะเสนอคุณสมบัติ API ที่แตกต่างกันตามระดับ API ของผู้ใช้ที่ใช้งานจริงให้ใช้ตัวเลือก B คุณจะได้รับคำแนะนำเกี่ยวกับคุณสมบัติที่คุณใช้ขณะทำการเข้ารหัส เพียงตรวจสอบให้แน่ใจว่าคุณไม่เคยใช้คุณสมบัติ API ที่ใหม่กว่า minSdkVersion โดยไม่ตรวจสอบระดับ API ของผู้ใช้ขณะใช้งานมิฉะนั้นแอปของคุณจะหยุดทำงาน วิธีการนี้ยังมีประโยชน์ในการเรียนรู้ว่ามีอะไรใหม่และเก่าในขณะที่เขียนโปรแกรม
หากคุณรู้อยู่แล้วว่ามีอะไรใหม่หรือเก่าและคุณกำลังพัฒนาแอปหนึ่งครั้งที่แน่นอนว่าจะไม่ได้รับการอัปเดตหรือคุณแน่ใจว่าคุณจะไม่นำเสนอคุณลักษณะ API ใหม่แบบมีเงื่อนไขให้ใช้ตัวเลือก A. คุณจะไม่ต้องกังวล ด้วยคำแนะนำที่เลิกใช้แล้วและคุณจะไม่สามารถใช้คุณสมบัติ API ที่ใหม่กว่าแม้ว่าคุณจะอยากทำก็ตาม