จะเพิ่มไลบรารีภายนอกใน IntelliJ IDEA ได้อย่างไร?


95

ฉันกำลังพยายามเพิ่มไลบรารีภายนอก (วางไว้ในไดเร็กทอรี / libs) ในโปรเจ็กต์ของฉัน เมื่อฉันพยายามใช้วิธีการจากห้องสมุดนั้นฉันเห็นว่าพวกเขาเป็นสีแดงซึ่งหมายความว่าไม่รู้จักห้องสมุด เมื่อฉันคลิก Ctrl + B ฉันได้รับข้อความ "ไม่พบประกาศที่จะไป"

ฉันใช้ขั้นตอนเหล่านี้เพื่อเพิ่มไลบรารี (ไฟล์ JAR): 1. คัดลอกไฟล์ไลบรารีลงใน / libs dir 2. เปิด Project Structure -> Global Libraries -> Attach clases 3. ค้นหาไลบรารี่แล้วคลิกตกลง

วิธีนี้เป็นวิธีที่เหมาะสมหรือไม่?

ปล. ฉันกำลังพยายามเพิ่มไฟล์ AdMob .jar ด้วยวิธีนี้

คำตอบ:


156

ขั้นตอนที่ง่ายกว่าในเวอร์ชันล่าสุด:

  • คัดลอก jar ไปยังไดเร็กทอรี libs ในแอพ (คุณสามารถสร้างไดเร็กทอรีได้หากไม่มี)
  • รีเฟรชโครงการเพื่อให้ libs ปรากฏในโครงสร้าง (คลิกขวาที่ระดับบนสุดของโปรเจ็กต์รีเฟรช / ซิงโครไนซ์)
  • ขยาย libs และคลิกขวาที่ jar
  • เลือก "เพิ่มเป็นห้องสมุด"

เสร็จแล้ว


1
Guys นี้มีอยู่ตั้งแต่ IDEA 13 เท่านั้นฉันถามคำถามฉันคิดว่าเมื่อเป็น IDEA 9
sandalone

2
@sandalone มันไม่สำคัญในจุดนี้ คนที่มาที่นี่ในวันนี้ส่วนใหญ่อาจใช้ IDE ที่รองรับวิธีง่ายๆนี้ในตอนนี้
เยอรมัน

4
"คัดลอก jar ไปยังไดเรกทอรี libs ในแอป" - แต่ไม่มีไดเรกทอรี libs ใน "แอป" ไดเรกทอรีแอปของฉันมีเฉพาะไดเรกทอรี out และ src อยู่ในนั้น ผมจึงสร้างไดเร็กทอรีใหม่ชื่อ "libs" และใส่ jar ไว้ในนั้น แต่ฉันไม่รู้ว่านี่คือทิศทางที่ตั้งใจไว้หรือเปล่า ... จากนั้น "รีเฟรชโปรเจ็กต์เพื่อให้ libs แสดงในโครงสร้าง" ฉันไม่พบคำสั่งให้ "รีเฟรช" หนึ่งจะรีเฟรชโครงการได้อย่างไร มือใหม่มีช่วงเวลาที่ยากลำบาก :-(
Rafael_Espericueta

1
คำตอบนี้มีความเรียบร้อยมากขึ้น stackoverflow.com/questions/1051640/…
唐龍豹

1
"ขยาย libs และคลิกขวาที่ jar" ไม่ถูกต้อง เมื่อคุณคัดลอก jar ของคุณในโฟลเดอร์ "lib" แล้วคุณควรคลิกขวาที่โฟลเดอร์ "lib" แล้วเลือก "Add as Library ... "
Gerard Verbeek

64

ฉันเคยใช้กระบวนการนี้เพื่อแนบ Jar ของบุคคลที่สามกับโปรเจ็กต์ Android ใน IDEA

  • คัดลอก Jar ไปยังไดเร็กทอรี libs / ของคุณ
  • เปิดการตั้งค่าโครงการ (Ctrl Alt Shift S)
  • ภายใต้แผงการตั้งค่าโครงการทางด้านซ้ายให้เลือกโมดูล
  • ในบานหน้าต่างด้านขวาที่ใหญ่ขึ้นให้เลือกแท็บการอ้างอิง
  • กดปุ่มเพิ่ม ... ที่ด้านขวาสุดของหน้าจอ (ถ้าคุณมีหน้าจอที่เล็กกว่าเช่นฉันคุณอาจต้องลากปรับขนาดไปทางขวาเพื่อดู)
  • จากเมนูแบบเลื่อนลงของเพิ่มตัวเลือกให้เลือก "ห้องสมุด" กล่องโต้ตอบ "เลือกไลบรารี" จะปรากฏขึ้น
  • กด "ห้องสมุดใหม่ ... "
  • เลือกชื่อที่เหมาะสมสำหรับไลบรารี
  • กด "แนบชั้นเรียน ... "
  • เลือก Jar จาก libs / directory และกด OK เพื่อปิด

ตอนนี้ห้องสมุดควรได้รับการยอมรับ


คุณลองแนบไลบรารี AdMob แล้วหรือยัง หลังจากขั้นตอนเหล่านี้ฉันยังมีแพ็คเกจ com.google.ads.AdActivity อยู่ในไฟล์ Manifest
รองเท้าแตะ

ลืมเขียนว่าชื่อแพ็กเกจใน Manifest ยังเป็นสีแดง (ระบบมองไม่เห็น) และ Ctrl + B ก็ยังไม่ทำงาน
รองเท้าแตะ

1
@bergnam ปัญหาของคุณอาจเกิดจากข้อผิดพลาดในการแยกวิเคราะห์สำหรับการเรียน obfuscated ดูyoutrack.jetbrains.net/issue/IDEA-71456
CrazyCoder

อืมอาจจะ ข้อแตกต่างเพียงประการเดียวคือไลบรารีนี้ใช้งานได้ แต่ไม่รู้จักการเติมข้อความอัตโนมัติของไฟล์ Manifest มันเปลี่ยนเป็นสีแดงและฉันไม่สามารถเพิ่มแพ็คเกจผ่าน Ctrl + Space ได้ แต่ต้องพิมพ์เอง
รองเท้าแตะ

หลังจากทำตามขั้นตอนเหล่านี้ฉันต้องเรียกใช้แพ็คเกจสะอาด mvn เพื่อให้สามารถเข้าถึงไลบรารีได้
Jenn

9

Intellij IDEA 15: ไฟล์ -> โครงสร้างโครงการ ... -> การตั้งค่าโครงการ -> ไลบรารี


1
วิธีที่ง่ายที่สุดหากคุณไม่ต้องการเพิ่มความซับซ้อนของการสร้าง maven / gradle / ant ให้กับโครงการง่ายๆ
Pierre

เห็นด้วย นอกจากนี้ทำไมต้องทำสำเนาไฟล์ JAR เดียวกันหลายชุดในแต่ละโครงการ
Richard Elkins

2

วิธีที่ดีกว่าในระยะยาวคือการรวม Gradle เข้ากับสภาพแวดล้อมโครงการของคุณ มันเป็นเครื่องมือสร้างสำหรับ Java และตอนนี้ถูกใช้อย่างมากในพื้นที่พัฒนา Android

คุณจะต้องสร้างไฟล์. gradle และแสดงรายการการอ้างอิงไลบรารีของคุณ จากนั้นสิ่งที่คุณต้องทำคือนำเข้าโครงการใน IntelliJ โดยใช้ Gradle

ไชโย


1

คำถามนี้ยังสามารถขยายได้หากไฟล์ jar ที่จำเป็นสามารถพบได้ในไลบรารีส่วนกลางคุณจะกำหนดค่าลงในโครงการปัจจุบันของคุณได้อย่างไร

ดำเนินการดังนี้: "โครงสร้างโครงการ" -> "โมดูล" -> "คลิกบานหน้าต่างโครงการปัจจุบันของคุณที่ด้านขวา" -> "การอ้างอิง" -> "คลิกปุ่มเพิ่ม (+) เล็กน้อย" -> "ไลบรารี" -> "เลือกไลบรารีที่คุณต้องการ"

หากคุณใช้ maven และคุณสามารถกำหนดค่าการอ้างอิงใน pom.xml ของคุณได้ แต่เวอร์ชันที่คุณเลือกไม่เหมือนกับไลบรารีส่วนกลางคุณจะเสียหน่วยความจำในการจัดเก็บไฟล์ jar เวอร์ชันอื่น ดังนั้นฉันขอแนะนำให้ใช้ขั้นตอนแรก

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