ไม่พบเป้าหมายด้วยสตริงแฮช "android-25"


88

ฉันมี Android Studio 2.2 ฉันกำลังพยายามเปิดโปรเจ็กต์ แต่ฉันได้รับข้อผิดพลาด "F ล้มเหลวในการค้นหาเป้าหมายด้วยสตริงแฮช 'android-25'" ด้านล่างข้อความแสดงข้อผิดพลาดฉันเห็นลิงก์ "ติดตั้งแพลตฟอร์มที่ขาดหายไปและโครงการซิงค์" หากฉันคลิกลิงก์นี้ฉันได้รับข้อผิดพลาดอีกครั้งซึ่งระบุว่า

"ไม่มีแพ็กเกจต่อไปนี้: - แพล็ตฟอร์ม id แพ็กเกจ; android-25"

ในเครื่องมือ Android SDK ฉันเห็น "Android 7.0" (API ระดับ 24) ติดตั้งแล้ว ในการตรวจสอบรายละเอียดเกี่ยวกับเวอร์ชัน Android และระดับ API ฉันพบว่า Android Nougat มี API ระดับ 24-25 ฉันต้องการทราบว่าฉันจะอัปเดต SDK จาก API24 เป็น 25 ได้อย่างไร


หากคุณไม่พบ SDK สำหรับ API ระดับ 25 ในตัวจัดการ SDK คุณสามารถตั้งค่า API ระดับ 24 เพื่อ compileSdkVersion, buildToolsVersion และ targetSdkVersion หรืออัปเดต Android Studio 2.2.2 ได้ทันที
kimkevin

อัปเดต Android Studio เป็น 2.2.3
phnmnn

ฉันสงสัยว่าเหตุใดจึงบังคับให้ผู้ใช้อัปเดต ในขณะเดียวกันรหัสการผลิตเองก็ไม่ใช่ทุกคนที่ใช้เวอร์ชันล่าสุด ....
gumuruh

คำตอบ:


120

คุณไม่จำเป็นต้องอัพเดทอะไร เพียงดาวน์โหลด SDK สำหรับ API 25 จาก Android SDK Manager หรือโดยการเปิดตัวจัดการ SDK แบบสแตนด์อโลนของ Android ข้อผิดพลาดนี้เกิดจากแพลตฟอร์มที่หายไปและไม่ใช่สำหรับเครื่องมือที่หายไปAndroid SDK Manager Android Studio 2.2.2.2


1
ฉันเข้าใจว่าฉันสามารถดาวน์โหลด API 25 ผ่านตัวจัดการ SDK ได้ แต่ตัวจัดการ SDK ไม่แสดง API 25 ฉันไม่เห็นว่า API 25 แสดงอยู่ในตัวจัดการ SDK และก็ไม่อนุญาตให้ฉันเลือก API ใหม่
KurioZ7

2
ฉันประสบปัญหาเดียวกันใน Ubuntu ฉันจะติดตั้งโดยใช้บรรทัดคำสั่งได้อย่างไร
Moses Liao GZ

โปรดอ้างอิง (เช่นสำหรับแพลตฟอร์ม 25 จะได้รับ): ลิงค์
Anuja Kothekar

1
ใน Android Studio 2.3 ลิงก์ "Launch Standalone SDK Manager" ถูกลบออก และฉันไม่สามารถติดตั้ง 25 ผ่าน Android SDK Manager ฉันควรทำอย่างไรดี?
Zolbayar

คุณสามารถติดตั้งโดยใช้บรรทัดคำสั่ง ลิงก์มีให้ในความคิดเห็นด้านบน
Anuja Kothekar

28

ฉันรู้สึกทุกข์ทรมานกับปัญหานี้ แต่ในที่สุดฉันก็พบวิธีแก้ปัญหา

ปัญหาเริ่มต้นที่นี่: ["ติดตั้งแพลตฟอร์มที่หายไปและโปรเจ็กต์การซิงค์" (ลิงก์) ไม่ทำงานและการซิงค์แบบไล่ระดับล้มเหลว]

แหล่งที่มาของปัญหา: เพียงตรวจสอบapp -> src-build.gradleและคุณจะพบพารามิเตอร์

  1. compileSdkVersion 25

  2. buildToolsVersion "25.0.1"

  3. targetSdkVersion 25

หมายเหตุ:คุณอาจพบว่าพารามิเตอร์เหล่านี้มีค่าต่างกันเช่น compileSdkVersion 23ฯลฯ

พารามิเตอร์ข้างต้นเหล่านี้build.gradleสร้างข้อผิดพลาดเนื่องจากค่าไม่เข้ากันกับ SDK เวอร์ชันปัจจุบันของคุณ

วิธีแก้ไขข้อผิดพลาดนี้ทำได้ง่ายเพียงเปิดโครงการใหม่ใน Android Studio ของคุณในโครงการใหม่goto app -> src-build.gradleนั้น

ในbuild.gradleไฟล์ของโครงการใหม่ค้นหาพารามิเตอร์เหล่านี้:

ใส่คำอธิบายภาพที่นี่

ในกรณีของฉันสิ่งเหล่านี้คือ:

compileSdkVersion "26"    
buildToolsVersion "26.0.1"
targetSdkVersion 26

ตอนนี้คัดลอกพารามิเตอร์เหล่านี้จากbuild.gradleไฟล์โปรเจ็กต์ใหม่ของคุณและโพสต์ไว้ในไฟล์เดียวกันของโปรเจ็กต์อื่น (มีข้อผิดพลาด)


หากปัญหายังคงมีอยู่ให้ลองค้นหาว่ามีbuild.gradleไฟล์อื่นอยู่หรือไม่ นอกจากนี้คุณสามารถค้นหาได้25ในการค้นหา (Ctrl + Shift + F แสดงทั้งคำ)
CoolMind

4

ฉันมีปัญหาที่คล้ายกัน

1: ฉันพยายามแก้ไขด้วยคำตอบที่ทำเครื่องหมายไว้ด้านบน แต่ฉันไม่สามารถรับการตั้งค่าระบบที่เลิกใช้งานได้อย่างยอดเยี่ยม (บน MacBook)

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

แนวทางแก้ไข: ไปที่ File จากนั้นไปที่โครงการของคุณ strucutre -modules -app-Properties -build tool version - คลิกที่ตัวเลือกที่จำเป็นสำหรับโปรเจ็กต์ของคุณ (หากเวอร์ชันเครื่องมือ build ที่ต้องการไม่มีให้เลือกอื่น ๆ ) การดำเนินการนี้จะซิงค์ไฟล์เกรดและตอนนี้คุณสามารถไปที่ gradel และเปลี่ยนเวอร์ชันเป้าหมายและสร้างเวอร์ชันเครื่องมือตามความต้องการของคุณคุณจะได้รับแจ้งให้ดาวน์โหลดเครื่องมือแพลตฟอร์มที่จำเป็นเพื่อซิงค์ตอนนี้คลิกที่เวอร์ชันเครื่องมือติดตั้งและปล่อยให้โครงการสร้าง

โซลูชัน b: ลอง Anuja Ans หากคุณสามารถรับตัวเลือกในการตั้งค่าระบบและติดตั้งเครื่องมือแพลตฟอร์ม


2

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


1

คุณสามารถเปิด SDK แบบสแตนด์อโลนได้โดยไปที่ไดเร็กทอรีการติดตั้งเพียงคลิกขวาที่ SDK Manager.exe แล้วคลิกที่เรียกใช้ในฐานะผู้ดูแลระบบ ฉันหวังว่ามันจะช่วยได้


1

gradle เวอร์ชัน 3.3 เริ่มต้นอาจมีข้อบกพร่องบางอย่างฉันเปลี่ยนเป็น gradle 3.5 และทุกอย่างก็โอเค


1

ฉันมีข้อผิดพลาดเดียวกันสำหรับ Android-28 ในตัวจัดการ SDK - แพลตฟอร์ม SDK แสดงให้ฉันเห็นว่า Android API 28 ได้รับการติดตั้งบางส่วนและไม่มีการอัปเดตเพิ่มเติม ดังนั้นฉันจึงอัปเดต ANDROID-SDK-BUILD-TOOLSจากเครื่องมือ SDKและหลังจากรีสตาร์ทโครงการ มันจะทำงาน. สิ่งนี้อาจเป็นประโยชน์สำหรับคนอื่น ๆ ที่ประสบปัญหาเดียวกันกับที่ฉันเผชิญ


1

ดูเหมือนว่าจะมี แต่ฉันคนเดียวที่เงอะงะเพราะฉันยังไม่พบวิธีแก้ปัญหาที่ต้องการ

ฉันกำลังพัฒนาโครงการแบบหลายโมดูลดังนั้นการกำหนดค่าโมดูลพื้นฐานของ Android จึงถูกแยกออกมาในสคริปต์การไล่ระดับสีเดียว sdks / libs เวอร์ชันคอนกรีตทั้งหมดจะถูกแยกออกมาในสคริปต์ด้วย

สคริปต์ที่มีเวอร์ชันมีลักษณะดังนี้:

...

ext.androidVersions = [
    compile_sdk_version     : '27',
    min_sdk_version         : '19',
    target_sdk_version      : '27',
    build_tool_version      : '27.0.3',
    application_id          : 'com.test.test',
]

...

ไม่คุ้นเคยกับไวยากรณ์ที่น่าเบื่อสายตาของฉันไม่ได้เห็นว่าค่าสำหรับการคอมไพล์ min และ sdks เป้าหมายไม่ใช่จำนวนเต็ม แต่ STRINGS! ดังนั้นคอมไพเลอร์จึงบ่นอย่างถูกต้องว่าไม่พบ sdk เวอร์ชันที่ตรงกับ HASH STRING '27'

ดังนั้นวิธีแก้ปัญหาคือการสร้างจำนวนเต็มเวอร์ชันของ sdk: ...

ext.androidVersions = [
    compile_sdk_version     : 27,
    min_sdk_version         : 19,
    target_sdk_version      : 27,
    build_tool_version      : '27.0.3',
    application_id          : 'com.test.test',
]

...

1

ฉันได้รับข้อยกเว้นเหมือนกันในขณะที่เรียกใช้ gradle build สำหรับโครงการ Android ของฉัน

เกิดจาก: java.lang.IllegalStateException: ล้มเหลวในการค้นหาเป้าหมายด้วยสตริงแฮช 'android-27'

ปัญหานี้เกี่ยวข้องกับ Android SDK เวอร์ชันเปิดใช้งานสำหรับ Android Studio ของคุณ โปรดค้นหาวิธีแก้ปัญหานี้จากหน้าจอที่แนบมา ใส่คำอธิบายภาพที่นี่


0

ฉันมีปัญหาที่คล้ายกันสำหรับ Android-29 ปัญหาของฉันเกิดขึ้นเนื่องจากเมื่อ AS กำลังแตกไฟล์ SDK ที่ดาวน์โหลดมาหนึ่งไฟล์ฉันได้หยุดมัน สำหรับการแก้ปัญหาให้ปิดใช้งานโหมดออฟไลน์ของ gradle จากนั้นซิงค์กับไฟล์ gradle คุณอาจต้องตั้งค่าพร็อกซีและเปิดใช้งาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.