วิธีเพิ่ม jar ใน External Libraries ใน android studio


185

ฉันยังใหม่กับ Android Studio สิ่งที่ฉันต้องทำคือเพิ่มไฟล์ jar สองสามไฟล์ที่อยู่External Librariesด้านล่างโฟลเดอร์ <JDK>

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

หากใครมีความรู้เกี่ยวกับวิธีการทำเช่นนี้โปรดช่วยฉัน


โปรดตรวจสอบลิงค์นี้: stackoverflow.com/questions/16588064/…
Sayem

คำตอบ:


320

คำตอบที่ล่าช้าแม้ว่าฉันคิดว่าจะให้คำตอบในเชิงลึกกับคำถามนี้ วิธีนี้เหมาะสำหรับ Android Studio 1.0.0 ขึ้นไป


ขั้นตอน


  1. แรกเปลี่ยนโครงสร้างโฟลเดอร์ของคุณจาก Android เพื่อโครงการ

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

  1. ตอนนี้ค้นหาโฟลเดอร์ libsภายในแอพ - สร้างโฟลเดอร์

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

  1. เมื่อคุณวางไฟล์. jar ในโฟลเดอร์ libs แล้ว คลิกขวาที่ไฟล์ขวดและในตอนท้ายคลิกที่เพิ่มเป็นห้องสมุด สิ่งนี้จะดูแลการเพิ่มไฟล์คอมไพล์ ('libs / library_name.jar') ใน build.gradle [คุณไม่จำเป็นต้องป้อนไฟล์นี้ด้วยตนเองในไฟล์บิลด์ของคุณ]

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

ตอนนี้คุณสามารถเริ่มใช้ห้องสมุดในโครงการของคุณ


3
ฉันไม่ได้รับตัวเลือกเพิ่มเป็นห้องสมุดในขั้นตอนที่ 3 ใน Android Studio 3.0.1 ของฉัน
Shylendra Madda

3
ใช่ฉันพบว่าตอนนี้หากมีการเพิ่มไว้แล้วตัวเลือกนั้นจะไม่ปรากฏ
Shylendra Madda

แก้ไขปัญหาของฉันได้อย่างสมบูรณ์แบบ
DIRTY DAVE

138

เพิ่ม jar app/libsไฟล์ของคุณไปยังโฟลเดอร์ จากนั้นคลิกขวาที่ไฟล์ jar และคลิก "เพิ่มเป็นไลบรารี"

หากไม่มีlibsโฟลเดอร์คุณสามารถสร้างได้ คลิกที่กล่องคำสั่งผสมที่ระบุว่า "Android" และเปลี่ยนเป็น "Project"

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

จากที่นี่คุณสามารถคลิกขวาที่ "แอพ" ในแผนผังไดเรกทอรีและไปที่ "ใหม่" => "ไดเรกทอรี"


36
หากคุณไม่พบโฟลเดอร์ lib เพียงคลิกที่ combobox ที่ระบุว่า "android" และเลือก "Project" (ปุ่มนั้นอยู่ด้านบนของตัวสำรวจโครงการ)
Gayan Weerakutti

2
จากนั้นคุณสามารถขยายโครงการของคุณเพื่อค้นหาโฟลเดอร์ "libs" หรือคลิกขวาที่โครงการของคุณและสร้างไดเรกทอรีใหม่ จากนั้นคุณสามารถย้ายไฟล์ JAR สำหรับไลบรารีของคุณไปยังไดเรกทอรีนั้นโดยใช้ตัวจัดการไฟล์ OS ของคุณ (ขอบคุณ @reversiblean ที่ทำให้ฉันเริ่มต้น!)
Richard

+1 สำหรับความคิดเห็น @ reversiblean - มุมมองเริ่มต้นคือ "ไฟล์โครงการ" ไม่ใช่ "โครงการ" และมุมมองนั้นไม่แสดงโฟลเดอร์ "แอป / libs" แต่จะไม่อนุญาตให้คุณสร้างมันขึ้นมา
จูลส์

4
ฉันไม่ได้รับตัวเลือกเพิ่มเป็นห้องสมุดใน Android Studio 3.0.1
Shylendra Madda

1
@Thinsky ใช่ฉันพบว่าตอนนี้ถ้ามันถูกเพิ่มไปแล้วตัวเลือกนั้นจะไม่แสดง
Shylendra Madda

63

ใส่ JAR ของคุณใน app / libs และใน app / build.gradle เพิ่มในdependenciesส่วน:

compile fileTree(dir: 'libs', include: ['*.jar'])


ฉันสามารถเลือกเส้นทางอื่น / เส้นทางของตัวเองเช่น "values ​​\ my_folder \ myjar.jar" ??? เพราะฉันทำงานกับ source code ของ android studio
Sanket Prabhu

คุณเพียงแค่ต้องเปลี่ยนค่าของ 'dir' (ดังนั้นแทนที่ 'libs' ด้วยสิ่งที่คุณต้องการ)
เกียนแทน

1
การรวบรวมเลิกใช้แล้ว
Deepak Samuel Rajan

1
ใช่ Deepak ถูกต้อง - 'คอมไพล์' ถูกคัดค้าน ... ดังนั้นแทนที่ด้วย 'การนำไปใช้' และควรจะทำงานได้ดี
Mark

40

สร้างโฟลเดอร์ "libs" ในไดเรกทอรีแอปคัดลอกไฟล์ jar ของคุณในโฟลเดอร์ libs คลิกขวาที่ไฟล์ jar ใน Android Studio และเพิ่มเป็นไลบรารี ... จากนั้นเปิด build.gradle และเพิ่มสิ่งนี้:

dependencies {
    implementation files('libs/your jar file.jar')
}

1
Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
Michael

20

ขั้นตอนที่ 1:ดาวน์โหลดไฟล์ JAR ใด ๆ สำหรับโครงการของคุณป้อนคำอธิบายรูปภาพที่นี่

ขั้นตอนที่ 2: คัดลอกไฟล์. jar และวางในโฟลเดอร์ libs

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

ขั้นตอนที่ 3: คลิกที่ไฟล์> โครงสร้างโครงการ> เลือกแอป> อ้างอิง

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

ขั้นตอนที่ 4:

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

ขั้นตอนที่ 5:

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

ขั้นตอนที่ 6:หลังจากคลิกปุ่มตกลงจากนั้นเราจะเห็นการเพิ่มการอ้างอิงเช่นนี้:

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


13

ตัวอย่างด้วยการแยกวิเคราะห์ขวด ...

เพิ่ม jars ไปยังโฟลเดอร์ libs จากมุมมองโครงการ ... สร้างโฟลเดอร์ lib หากไม่มีอยู่

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

คัดลอกขวดทั้งหมดที่นั่น ...

เพิ่ม libs เพื่อ gradle .... ในไฟล์ build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:percent:23.0.0'
    compile 'com.parse.bolts:bolts-android:1.+'
    compile fileTree(dir: 'libs', include: 'Parse-*.jar’)
}

สำหรับการเพิ่ม jars ทั้งหมดของโฟลเดอร์ lib ... เปลี่ยน Parse - *. jar เป็น * .jar


11

นี่คือวิธีที่คุณสามารถเพิ่ม.jarไฟล์ใน Android Studio 2.1.3

  1. คัดลอกไฟล์. jar ภาพหน้าจอคัดลอกไฟล์ jar

  2. วางไฟล์ในโฟลเดอร์ Libs จากนั้นคลิกขวาที่ไฟล์. jar แล้วกด Add as library ป้อนคำอธิบายรูปภาพที่นี่

  3. เปิด build.gradle ป้อนคำอธิบายรูปภาพที่นี่

  4. เพิ่มบรรทัดภายใต้การอ้างอิงดังที่แสดงในภาพหน้าจอ ป้อนคำอธิบายรูปภาพที่นี่ป้อนคำอธิบายรูปภาพที่นี่

  5. ตอนนี้กดปุ่มเล่นและคุณเสร็จสิ้นการเพิ่มไฟล์. jar ป้อนคำอธิบายรูปภาพที่นี่


(อย่างน้อยด้วย AS 2.3) คุณสามารถข้ามขั้นตอนที่ 3 และ 4 AS จะเพิ่ม JAR เข้ากับ build.gradle ของคุณโดยอัตโนมัติ
Wing Poon

2
ข้ามขั้นตอนที่ 3 และ 4 จากนั้นเปิดไฟล์ -> โครงสร้างโครงการ -> แอปพลิเคชั่น> การพึ่งพา -> คลิก + -> การพึ่งพา jar และเลือกไฟล์ jar มันทำงานให้ฉัน
Jhohannes Purba

3

วิธีการที่ใช้ GUI จะเป็นการเพิ่มโมดูลเพิ่มเติมในโครงการของคุณ

  1. จากเมนูไฟล์เลือกโครงสร้างโครงการและคลิกที่ไอคอนเครื่องหมายบวกสีเขียวที่ด้านบนซ้าย
  2. กล่องโต้ตอบโมดูลใหม่จะปรากฏขึ้น
  3. จากกลุ่มแอปพลิเคชันโทรศัพท์และแท็บเล็ตให้เลือกตัวเลือก "นำเข้า JAR หรือแพ็คเกจ AAR" แล้วคลิกถัดไป
  4. ทำตามขั้นตอนเพื่อสร้างโมดูลใหม่ที่มีไฟล์ JAR ของคุณ
  5. คลิกที่รายการที่สอดคล้องกับโครงการหลักของคุณและเลือกแท็บการอ้างอิง
  6. เพิ่มการอ้างอิงไปยังโมดูลที่คุณสร้างในขั้นตอนที่ 4

คำแนะนำสุดท้ายชิ้นหนึ่ง ตรวจสอบให้แน่ใจว่าJAR ไฟล์ที่คุณรวมถึงการสร้างเป็นอย่างมากที่สุด JDK 1.7 ปัญหามากมายที่เกี่ยวข้องกับข้อความแสดงข้อผิดพลาด "com.android.dx.cf.iface.ParseException: เวทย์มนตร์ไฟล์คลาสที่ไม่ดี (cafebabe) หรือรุ่น (0034.0000)" รูตตรงนี้: 0


คุณยืนยันว่าวิธีนี้ดีกว่าวิธีการโฟลเดอร์ "copy-jar-to-libs" หรือไม่ตามคำตอบอื่น ๆ
Eido95

@ Eido95 นี่เป็นวิธีที่ฉันย้อนกลับไปในปี 2558 ฉันจำได้ว่าพยายามรวม JSON ในโปรแกรม Android และนี่คือสิ่งที่ใช้งานได้จริง
thanassis

คุณแนะนำวิธีใดที่ฉันควรใช้ในความเห็นของคุณสำหรับการเพิ่ม JAR ภายนอกแบบง่าย ๆ
Eido95

3

วิธีง่ายๆในการเพิ่มขั้นตอนไฟล์ Jar Studio Android:

  1. คัดลอกและวางไฟล์ jar ของคุณไปยังโฟลเดอร์ libs ของโครงการของคุณ
  2. คลิกไฟล์จากเมนูไฟล์ -> โครงสร้างโครงการ (CTRL + SHIFT + ALT + S บน Windows / Linux, ⌘ +; บน Mac OS X)
  3. เลือกโมดูลที่แผงด้านซ้าย -> แท็บการพึ่งพา
  4. เพิ่ม ... →ไลบรารีโครงการ→แนบ Jar

3

หากใครกำลังมองหาโซลูชันอื่นโดยไม่ต้องคัดลอกไฟล์ jar ลงในไดเรกทอรีโครงการเช่นเมื่อใช้ jar ในหลายโครงการ:

เปิดbuild.gradleและเพิ่ม

def myJarFolder = 'C:/Path/To/My/Jars'

[...]

dependencies {
    [...]
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
    compile fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
    [...]
}

โปรดทราบว่าแน่นอนคุณไม่ต้องใช้ตัวแปรmyJarFolderฉันพบว่ามันมีประโยชน์ เส้นทางยังสามารถเป็นญาติเช่น../../Path/To/My/Jars
ทดสอบกับ AndroidStudio 3.0

อัปเดต: สำหรับปลั๊กอิน Gradle> 3.0 ใช้การนำไปใช้แทนการคอมไพล์ :

dependencies {
        [...]
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/1', include: ['*.jar'])
        implementation fileTree(dir: myJarFolder + '/jar/Sub/Folder/2', include: ['*.jar'])
        [...]
    }

ฉันมีปัญหากับสิ่งนี้ ฉันทำมันเป็นห้องสมุดและแอพที่ขึ้นอยู่กับห้องสมุดกำลังทำงานใน NoClassDefFoundError ฉันยังได้รับข้อผิดพลาดมากมายรอบ ๆ ไม่สามารถหาชั้นเรียนสำหรับ desugaring
เคล็ดลับ

3

ใน android Studio เวอร์ชัน 3.0 ขึ้นไปฉันใช้ bellow like:

  1. สร้างlibsไปยังไดเรกทอรีแอพหากไม่มีโฟลเดอร์เหมือน
    • ไปที่โครงการ
    • ไปที่แอพ
    • คลิกที่แอป -> ใหม่ -> ไดเรกทอรี
    • ชื่อlibsโฟลเดอร์
    • วางขวดลงในโฟลเดอร์libs
    • ภาพจะมีลักษณะเหมือน ป้อนคำอธิบายรูปภาพที่นี่

2.In build.gradleเพิ่มบรรทัดร้อง

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/com.ibm.icu_3.4.4.1.jar')

1

ถ้าคุณไม่เห็นตัวเลือก "เพิ่มเป็นห้องสมุด" ให้แน่ใจว่าคุณแยก (เครื่องรูด) ไฟล์ของคุณเพื่อให้คุณมีและไม่ได้mail.jarmail.zip

จากนั้นคลิกขวาที่ไฟล์ของคุณและคุณจะเห็นตัวเลือก "เพิ่มเป็นห้องสมุด"


1

โปรดระบุตำแหน่งไฟล์ jar ใน build.gradle

implementation fileTree(dir: '<DirName>', include: ['*.jar'])

ตัวอย่าง:

implementation fileTree(dir: 'C:\Downloads', include: ['*.jar'])

เพื่อเพิ่มไฟล์ jar เดี่ยว

implementation files('libs/foo.jar')

หมายเหตุ: การคอมไพล์ถูกคัดค้านใน gradle ล่าสุดดังนั้นให้นำไปใช้งานแทน


0

ว่า "วิธีการอย่างเป็นทางการ" เพื่อเพิ่มขวดในโครงการหุ่นยนต์ของคุณเป็นห้องสมุดภายนอกคือการเพิ่มขวดในการอ้างอิง {}ส่วนใน build.gradle

หากคุณได้ทำทุกอย่างที่กล่าวมาแล้วข้างต้นและไม่ได้ผลงานใด ๆ ที่กล่าวมามีความเป็นไปได้อีกสองอย่าง:

  1. ถ้า Android Studio หรือบาง IDE อื่น ๆ ไม่ให้เกิดข้อผิดพลาดที่ขีดเส้นใต้สีแดงในการแก้ไข แต่วิ่งในข้อผิดพลาดใน Java คอมไพเลอร์, ตรวจสอบ JAR jar ของคุณอาจไม่มีManifestที่เหมาะสมดังนั้นผู้รวบรวมจึงไม่ทราบว่า jar สามารถให้ / ไม่รู้ชื่อแพ็คเกจ
  2. อาจเป็นเพราะโครงสร้างโฟลเดอร์ของระเบียบ โครงสร้างโฟลเดอร์ไม่ตรงกับชื่อแพ็คเกจ package a.b.c;ควรจับคู่กับโฟลเดอร์ a> โฟลเดอร์ b> โฟลเดอร์ c
  3. ชื่อแพคเกจมีความขัดแย้ง (เชื่อฉันสิเรื่องนี้เกิดขึ้นกับฉันและใช้เวลาหลายชั่วโมงในการคิดออก)

แต่ถ้าคุณจะไปกับคอร์โดวานี่คือเคล็ดลับบางอย่างของการเพิ่มไหภายนอก

" build-extras.gradle " เป็นวิธีที่ดีกว่าในการจัดการไฟล์ gradle ของคุณ

นี่คือขั้นตอนในการจัดการการตั้งค่าพิเศษในโครงการ Android ที่ใช้ Cordova:

  1. เพิ่ม jar ของคุณใน build-extras.gradle:
    //Other settings go here, e.g.: buildscript { ... }
    ext.postBuildExtras = {
    // you may have some other settings, e.g.: android { ... }
            dependencies {
                    compile files('libs/abc.jar')
            }
    }

(ขั้นตอนเพิ่มเติมโดยละเอียดที่นี่: การขยายไฟล์ gradle gradle เพื่อรวมบริการของ google )

  1. ในเทอร์มินัลให้ทำ:

cordova build android

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