คำเตือน: API 'variant.getMappingFile ()' ล้าสมัยและถูกแทนที่ด้วย 'variant.getMappingFileProvider ()'


26

ฉันเพิ่งอัปเดต Android Studio 3.5 เป็น Android Studio 3.6 และแทนที่ปลั๊กอิน Gradle ก่อนหน้าด้วยปลั๊กอิน Gradle 3.6.0 เมื่อทำการซิงค์ Gradle:

build.gradle: API 'variant.getMappingFile ()' ล้าสมัยและถูกแทนที่ด้วย 'variant.getMappingFileProvider ()'

คำแนะนำใด ๆ เกี่ยวกับวิธีการดีบักคำเตือนนี้ มันมาจากไหน ฉันไม่เห็นการใช้งาน getMappingFile ใด ๆ ในรหัสของฉันแม้ว่าอาจเป็นห้องสมุด คำแนะนำในการแก้ปัญหากรณีเหล่านี้จะเป็นประโยชน์


อัปเกรด Gradle ของคุณเช่น Compile SDK Version, Target SDK Version, SDK ขั้นต่ำและโยกย้ายด้วย AndroidX
Manikandan Karuppiyah

1
ฉันใช้ AndroidX อยู่แล้ว ทำไมต้องอัพเดท SDK ขั้นต่ำ คุณหมายความว่าเราหยุดสนับสนุนระบบปฏิบัติการเวอร์ชั่นเก่ากว่าเนื่องจากมีระบบปฏิบัติการรุ่นใหม่ออกมาหรือไม่? ไม่สมเหตุสมผลเท่าที่เราต้องการเพื่อสนับสนุนใหม่โดยไม่แตกหัก และคุณสามารถให้เหตุผลในการทำการเปลี่ยนแปลงเหล่านี้ได้เนื่องจากคำถามเกี่ยวกับวิธีการวินิจฉัยข้อผิดพลาดดังกล่าว
Arnab Kar

คำตอบ:


6

เมื่อรันสคริปต์ gradle ด้วย-Pandroid.debug.obsoleteApi=trueชุดพารามิเตอร์คุณสามารถรับการติดตามสแต็กว่าอะไรเป็นสาเหตุของปัญหา

ฉันพบว่าในกรณีของฉันเกี่ยวข้องกับ Crashlytics มีปัญหานี้เปิดขึ้น แต่เห็นได้ชัดว่าเป็น legacy-plugin ดังนั้นปัญหาจึงถูกปิดอีกครั้งพร้อมคำแนะนำในการติดต่อฝ่ายสนับสนุน Fabric หวังว่าพวกเขาจะหาทางออก


39

การอัพเกรด

classpath 'io.fabric.tools:gradle:1.29.0'

ถึง

classpath 'io.fabric.tools:gradle:1.31.2'

ใน build.gradle ระดับบนสุดของฉันแก้ไขปัญหาให้ฉันได้


ขอบคุณมันใช้งานได้สำหรับฉันไม่มีคำเตือนอีกต่อไป
คริสเตียน

1
  1. ไปที่ build.gradle ภายใต้สคริปต์ Gradle
  2. เพิ่มบรรทัดนี้: classpath 'io.fabric.tools:gradle:1.31.2'
  3. สร้างโครงการของคุณใหม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.