วิธีแนบ javadoc หรือแหล่งที่มากับขวดในโฟลเดอร์ libs?


254

ปลั๊กอิน ADT r17 เวอร์ชันใหม่สำหรับ Eclipse ที่เพิ่มคุณสมบัติเพื่อตั้งค่าการพึ่งพา JAR โดยอัตโนมัติ ไฟล์. jar ใด ๆ ในโฟลเดอร์ / libs จะถูกเพิ่มในการกำหนดค่าบิลด์ทันที น่าเสียดายที่ classpath ของ Android Dependencies ไม่สามารถแก้ไขได้

classpath พึ่งพา Android ที่ไม่สามารถแก้ไขได้

ฉันจะแนบ javadoc และแหล่งที่มาเข้ากับ. jar (จาก / libs โฟลเดอร์) ที่แทรกโดยอัตโนมัติได้อย่างไร


ฉันไม่คิดว่าคำถามของคุณได้รับคำตอบ คำตอบที่ยอมรับได้ของมาร์กให้สิ่งที่คุณถามไม่ให้เป็นทางออก เราจะแนบ javadoc และแหล่งข้อมูลผ่าน auto-libs (ไม่ใช่ผ่าน jars ด้วยตนเอง) ได้อย่างไร?
pjv

2
มีปัญหาสำหรับข้อผิดพลาดนี้เป็นcode.google.com/p/android/issues/detail?id=27490#c21 ความคิดเห็นที่ 21 กล่าวว่าสิ่งที่แนบมา / javadoc จะเป็นไปได้ใน ADT r20 พร้อมไฟล์ java .properties มาตรฐาน (foo.jar -> foo.jar.properties) ซึ่งช่วยให้คุณแก้ไขเส้นทางสัมพัทธ์หรือพา ธ สัมบูรณ์ไปยังโฟลเดอร์ต้นทาง (หรือเก็บถาวร) และ / หรือเส้นทางสัมพัทธ์หรือพา ธ สัมบูรณ์ไปยัง javadoc
Sergii Pechenizkyi

คำตอบ:


401

วิธีที่ดีที่สุดที่จะตอบคำถามของคุณคือการสรุปคำตอบจากซาเวียร์ , plastiv , VinceFRและคริสโต

คู่มือทีละขั้นตอน

เพื่อเชื่อมโยงแหล่งที่มาและ javadocกับไลบรารี. jar ที่ลิงก์โดย Eclipse โดยอัตโนมัติคุณต้องทำสิ่งต่อไปนี้:

  1. วางไฟล์ห้องสมุดขวดในlibsโฟลเดอร์และขวดที่มาร่วมและ doc ไหไฟล์ในโฟลเดอร์ย่อยที่แยกต่างหากเช่นlibs / srcและlibs / เอกสาร คุณสามารถใช้ชื่ออื่นนอกเหนือจากsrcและdocsหากคุณต้องการ แต่สิ่งสำคัญคือไฟล์. jar ไม่ได้อยู่ในโฟลเดอร์libsโดยตรง
  2. สร้าง.propertiesไฟล์ในโฟลเดอร์libsด้วยชื่อที่ถูกต้องของไลบรารี. jar จริง (ดูตัวอย่าง) ตรวจสอบให้แน่ใจว่าคุณเก็บส่วน. jar
  3. ระบุพา ธ สัมพัทธ์ไปยังซอร์สและ javadoc .jar ใน.propertiesไฟล์
  4. ปิดและเปิดโครงการ Eclipse อีกครั้ง! F5เลือกรีเฟรชโครงการโดยการกด
  5. เลือกวัตถุของไลบรารีที่เชื่อมโยงในซอร์สโค้ด
  6. เปิดมุมมอง Javadoc ใน Eclipse เพื่อตรวจสอบเอกสาร (ดูภาพหน้าจอ)
  7. เปิดการประกาศรหัสที่มา (ทางลัดเริ่มต้น:) F3ของวัตถุที่เลือก


ตัวอย่าง

ตัวอย่างที่ใช้ห้องสมุด Gson

โครงสร้างไดเรกทอรีของโฟลเดอร์ libs:

libs
├── docs
   └── gson-2.2.2-javadoc.jar
├── gson-2.2.2.jar
├── gson-2.2.2.jar.properties
└── src
    └── gson-2.2.2-sources.jar

เนื้อหาของ gson-2.2.2.jar.properties

src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar


ข้อมูลเพิ่มเติม

แน่นอนคุณสามารถย้าย javadoc และแหล่งที่มา. jar ไปยังโฟลเดอร์อื่นและระบุพา ธ ที่เกี่ยวข้อง ขึ้นอยู่กับคุณ วางแหล่งที่มาและ Javadoc ขวดโดยตรงในlibโฟลเดอร์เป็นไปได้ แต่ไม่แนะนำให้เป็นที่เป็นสาเหตุของเอกสารและรหัสที่มาจะได้รับการรวมอยู่ในโปรแกรมของคุณ


สกรีนช็อตของแผง Eclipse JavaDoc:

มุมมอง JavaDoc ใน Eclipse

สกรีนช็อตของโครงการ Eclipse โดยใช้ Gson กับ Android 4.2.2 .:

ภาพหน้าจอของโครงการทดสอบ Eclipse


การอ้างอิง javadocs ที่ไม่ได้แพ็ค

ในกรณีที่คุณต้องการอ้างอิง javadocs ซึ่งไม่ได้จัดให้เป็นไฟล์บรรจุภัณฑ์.jarแต่เป็นไฟล์และโฟลเดอร์ตามที่ผู้พัฒนาระบบ Androidร้องขอในการแสดงความคิดเห็นทำดังต่อไปนี้:

  1. วางไลบรารี.jarในlibs/โฟลเดอร์
  2. สร้างyourlibraryname.jar.propertiesไฟล์ ( อย่าลืม.jar ) ด้วยเนื้อหาต่อไปนี้:

     doc=docs
  3. เพิ่มโฟลเดอร์ javadocs ไปยังlibs/โฟลเดอร์

คุณควรสร้างโครงสร้างโฟลเดอร์ต่อไปนี้:

├── docs
   ├── allclasses-frame.html
   ├── allclasses-noframe.html
   ├── com
      └── google
          └── ads
              ├── Ad.html
                 ....
              └── package-tree.html
      ...
   └── stylesheet.css
├── GoogleAdMobAdsSdk-6.4.1.jar
└── GoogleAdMobAdsSdk-6.4.1.jar.properties

อย่าลืมปิดและเปิดโครงการ Eclipse อีกครั้งตามที่กล่าวไว้ข้างต้น! นี่คือภาพหน้าจอของโครงการตัวอย่างการทำงานอ้างอิงGoogleAdMobAds ห้องสมุด

โครงการ Eclipse ของห้องสมุด GoogleAdMobAds Android


7
Ahhh มันเป็นการปิดและเปิดโครงการ Eclipse ใหม่ซึ่งจำเป็นสำหรับฉัน (ฉันได้รีเฟรชและทำความสะอาดหลายครั้งโดยไม่มีโชคมาก่อน)
Steve Haley

4
ขอบคุณ @JJD ที่ใช้งานได้ดี ฉันต้องรีสตาร์ท Eclipse ก่อนที่จะเริ่มทำงาน
javajavajavajavajava

26
หมายเหตุ:คุณจริงๆ ควรใส่ Javadoc และแหล่งที่มาไหลงในไดเรกทอรีย่อยเช่น "./libs/docs" มิฉะนั้นขวดเหล่านี้จะถูกรวมเป็น APK ของคุณ! นอกจากนี้คุณจะไม่สามารถรวม Javadoc สำหรับหลาย ๆ ไลบรารีได้เนื่องจากการสร้าง APK จะล้มเหลวเมื่อพบไฟล์ HTML ที่ซ้ำกัน
Christopher Orr

5
เป็นไปได้ที่จะอ้างถึง javadoc แบบรีโมตจากไฟล์. properties หรือไม่? เช่นเดียวกับ: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias

9
เห็นได้ชัดว่านี่ไม่ได้ผลถ้าคุณกำลังจะเชื่อมโยง Javadoc เท่านั้นและไม่ใช่ซอร์สโค้ดฉันต้องแตก Javadoc jar ด้วย 7zip ไปยังโฟลเดอร์ใน My Documents จากนั้นให้ชี้ไฟล์คุณสมบัติไปยังโฟลเดอร์ที่มีดัชนี Javadoc .html โดยตรงอย่างนั้น doc = C: \\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi

25

บน windows คุณต้องหลีกเลี่ยงแบ็กสแลชสำหรับการอ้างอิงถึง doc และ src path ในไฟล์คุณสมบัติ ตัวอย่างเช่นสำหรับ android-support-v4.jar เนื้อหาไฟล์คุณสมบัติเป็นดังนี้:

doc=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\docs
src=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\src

1
ว้าวคำตอบของคุณแก้ปัญหาของฉันฉันใส่หนึ่ง \ แต่เราต้องใส่ \\ .thanks เพื่อ muchh
Arash

17

คำตอบมาจากhttp://code.google.com/p/android/issues/detail?id=27490#c21

ในโฟลเดอร์ libs ของคุณคุณต้องมี:

doc(folder)
    foo_doc(folder)
        index.html
        ...
        ...
foo.jar
foo.jar.properties

และในของคุณfoo.jar.propertiesเพียงแค่ใส่doc=./doc/foo_doc

บางทีคุณอาจต้องรีเฟรชโครงการทำความสะอาดปิดและเปิดใหม่

มันใช้งานได้สำหรับฉัน!


หากคุณมีเอกสารในไฟล์ zip นี่เป็นวิธีที่จะไปขอขอบคุณมาก !! ยกนิ้วให้
Akhil Jain

10

ฉันลองทุกอย่างที่กล่าวมาข้างต้นและไม่มีใครทำงานให้ฉัน ฉันหาวิธีที่ใช้ได้ผลเสมอ โดยพื้นฐานแล้วผู้กระทำผิดเป็นวิธีที่ ADT ปฏิบัติต่อโฟลเดอร์ "libs" ดังนั้นฉันจึงเลิกใช้โฟลเดอร์ "libs" แต่ฉันสร้างโฟลเดอร์ "libraries" และใช้มันแทน

คุณสามารถทำสิ่งต่อไปนี้และมันจะทำงานได้ตลอดเวลา - แม้ว่า ADT จะเปลี่ยนวิธีการเปลี่ยนวิธีจัดการกับโฟลเดอร์ "libs" ในอนาคต:

  1. สร้างโฟลเดอร์ "libraries"
  2. สร้างโฟลเดอร์ย่อยภายใต้มันสำหรับแต่ละห้องสมุด
  3. วางไฟล์ทั้งหมดสำหรับแต่ละไลบรารีในโฟลเดอร์ที่เหมาะสม (ไฟล์ java jar, ไฟล์ jar ต้นฉบับ, ไฟล์ javadoc jar, ฯลฯ )
  4. เพิ่มไฟล์ java jar สำหรับแต่ละโครงการในแท็บ "ไลบรารี" สำหรับ Java Build Path โดยคลิกที่Add Jars...ปุ่มเพื่อเพิ่ม jar จากโฟลเดอร์ย่อยของไลบรารีในโฟลเดอร์ "libraries"
  5. แนบ source / javadocs เข้ากับแต่ละโครงการโดยเปิดโครงการในแท็บ "Libraries" เลือกรายการที่ต้องการและคลิกที่Edit...ปุ่มเพื่อเพิ่ม source / javadocs จากโฟลเดอร์ย่อย library ในโฟลเดอร์ "libraries"
  6. ทำเครื่องหมายที่ช่องสำหรับแต่ละโครงการในแท็บ "สั่งซื้อและส่งออก" สำหรับเส้นทาง Java Build
  7. หลังจากตรวจสอบว่าย้ายไลบรารีทั้งหมดแล้วให้ลบโฟลเดอร์ "libs"

โดยทำตามขั้นตอนข้างต้นโครงการของคุณจะมีโฟลเดอร์ที่มีลักษณะดังนี้:

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

เส้นทาง Java Build ของคุณจะมีลักษณะดังนี้:

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

ในการสั่งซื้อและส่งออกห้องสมุดถูกทำเครื่องหมายไว้:

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


5

libสำหรับตอนนี้ย้ายห้องสมุดที่คุณต้องการที่จะ Javadoc เพิ่มไลบรารีนั้นในBuild Pathและเพิ่ม Javadoc

ตรวจสอบความคิดเห็นนี้ในปัญหา Android


อย่าลืม (เหมือนผม) Build Pathเพื่อตรวจสอบการสั่งซื้อและการตั้งค่าห้องสมุดเพื่อการส่งออกใน
Carlos Sobrinho

4

ใน ADT 22 ฉันไม่สามารถเข้าถึง Javadoc สำหรับทั้งคอมมอนส์ -io-2.4.jar และ android-support-v4.jar

นี่คือวิธีที่ฉันแก้ไข:

  1. เงื่อนไข: ห้องสมุดทั้งสองอยู่ในรายการภายใต้ "ห้องสมุดที่อ้างอิง"

  2. คลิกขวาที่ commons-io-2.4.jar แล้วเลือก Properties หน้าต่างนี้ปรากฏขึ้น:

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

commons-io-2.4.jar มาพร้อมกับ Commons-io-2.4-javadoc.jar ดังนั้นฉันจึงระบุ Javadoc ในไฟล์พา ธ ไฟล์เก็บถาวรภายนอก

ฉันทำสิ่งเดียวกันกับไลบรารีการสนับสนุน: คลิกขวาบน android-support-v4.jar และเลือกคุณสมบัติ หน้าจอนี้จะปรากฏขึ้น:

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

เวลานี้ฉันระบุเส้นทางไปยังไดเรกทอรีต้นทาง


นี่เป็นวิธีที่ง่ายที่สุดและตรงที่สุดในการแนบ javadoc และ / หรือ src เข้ากับไลบรารี ขอบคุณ! ในฐานะที่เป็นบันทึกเพิ่มเติมไม่จำเป็นต้องมี javadoc หรือ src ใน Library ที่อ้างอิง
เงิน

3

การอ้างอิงไลบรารีไปยัง commons-io-2.0.1.jar เสียหายเมื่อฉันอัปเกรดเป็นเครื่องมือ SDK และการแก้ไข ADT 17

ในการแก้ไขปัญหาฉันใช้ Project -> Properties -> Java Build Path และฉันเลือกแท็บไลบรารี ฉันลบการอ้างอิงถึง Commons-io-2.0.1.jar แล้วใช้ Add Jar เพื่อเพิ่มคอมมอนส์ -io-2.0.1.jar ไปยังโครงการอีกครั้ง จากนั้นฉันคลิกลูกศร '>' ถัดจากชื่อไลบรารีเพื่อขยายการอ้างอิงไลบรารีและฉันใช้ปุ่มแก้ไขเพื่อตั้งค่าสิ่งที่แนบมากับแหล่งที่มาและตำแหน่ง Javadoc

ขออภัยฉันไม่สามารถโพสต์ภาพได้เนื่องจากฉันมีตัวแทนไม่เพียงพอ (โปรด ... )


ไม่ได้ผลสำหรับฉัน คุณเก็บไฟล์ jar ไว้ในโครงการของคุณที่ไหน ฉันมีของฉันในโฟลเดอร์ libs
Daniel Ryan

ในที่สุดก็มีคนให้คำแนะนำที่ใช้งานได้จริง! ขอบคุณมาก ๆ ไม่มีวิธีการใด ๆ ที่รวมถึงไฟล์ ".properties" ซึ่งทำได้ดีสำหรับฉัน แต่นี่เป็นการเพิ่มไลบรารีเป็น JAR ภายนอกในหน้าจอไดอะล็อกทำงาน
AlxDroidDev

1

ดูเหมือนว่าจะเป็นเป้าหมายที่เคลื่อนไหวได้ แต่หลังจากรวบรวมบิตและชิ้นส่วนจากหลาย ๆ ที่ (รวมถึงคำตอบของคำถามที่ช่วย แต่ล้มเหลวในการอธิบายรายละเอียดที่จำเป็นทั้งหมดหรือระบบอาจมีการเปลี่ยนแปลงเล็กน้อยในระหว่างนี้) ดูเหมือนว่าจะเป็น การแก้ปัญหาอย่างน้อย ณ ตอนนี้ (28 สิงหาคม 2013)

  • เปิดโฟลเดอร์สำหรับ javadocs ของคุณบางไม่ได้อยู่ในโครงการของคุณ
  • วาง javadocs ของคุณไว้ในเครื่องแล้วแต่ละอันลงในโฟลเดอร์ของตัวเอง
  • ภายในlibโฟลเดอร์ของคุณเพิ่มxxx.jar.propertiesไฟล์สำหรับแต่ละ lib ที่คุณต้องการเชื่อมโยง javadoc ด้วย
  • ในไฟล์คุณสมบัติดังกล่าวอ้างถึงโฟลเดอร์ที่คุณคลายซิปไฟล์ javadoc ที่เหมาะสมลงใน (บน Windows ให้หลีกเลี่ยงแบ็กสแลช):

doc=d:\\Android\\javadoc\\libGoogleAnalyticsServices

  • ปิดและเปิดโครงการของคุณอีกครั้งใน Eclipse (การรีเฟรชไม่เพียงพอ) ตอนนี้คุณควรเห็นคำแนะนำเครื่องมือเมื่อคุณวางเมาส์เหนือคลาสที่เหมาะสม

ล้มเหลวในการสังเกตขั้นตอนใด ๆ เหล่านี้ (ไม่ใช่การแตกไฟล์ javadoc อ้างอิงไฟล์แทนโฟลเดอร์ ฯลฯ ) ดูเหมือนว่าจะทำให้ไฟล์เสียหาย


1

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

รายการ classpath ก่อน:

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]"/>

หลังจากเพิ่มเส้นทางไปยังแหล่งที่มา

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]" sourcepath="[PATH_TO_MY_SOURCE_JAR]"/>

หวังว่านี่จะช่วยได้


0

เพียงอัปเดตปลั๊กอิน ADT นั่นใช้ได้สำหรับฉัน !!

  1. เริ่ม Eclipse จากนั้นเลือกวิธีใช้> ติดตั้งซอฟต์แวร์ใหม่
  2. คลิกเพิ่มที่มุมบนขวา
  3. ในกล่องโต้ตอบเพิ่มที่เก็บที่ปรากฏขึ้นให้ป้อน "ปลั๊กอิน ADT" สำหรับชื่อและ URL ต่อไปนี้สำหรับที่ตั้ง: https://dl-ssl.google.com/android/eclipse/ หมายเหตุ: ไซต์อัปเดตเครื่องมือนักพัฒนาซอฟต์แวร์ Android ต้องมี การเชื่อมต่อที่ปลอดภัย ตรวจสอบให้แน่ใจว่า URL ไซต์อัปเดตที่คุณป้อนเริ่มต้นด้วย HTTPS
  4. คลิกตกลง ในกล่องโต้ตอบซอฟต์แวร์ที่มีให้เลือกช่องทำเครื่องหมายถัดจากเครื่องมือสำหรับนักพัฒนาและคลิกถัดไป
  5. ในหน้าต่างถัดไปคุณจะเห็นรายการเครื่องมือที่จะดาวน์โหลด คลิกถัดไป
  6. อ่านและยอมรับข้อตกลงสิทธิ์การใช้งานจากนั้นคลิกเสร็จสิ้น
  7. หากคุณได้รับคำเตือนด้านความปลอดภัยว่าไม่สามารถสร้างความถูกต้องหรือความถูกต้องของซอฟต์แวร์ได้ให้คลิกตกลง
  8. เมื่อการติดตั้งเสร็จสมบูรณ์ให้รีสตาร์ท Eclipse

หวังว่าจะช่วย!


0

สำหรับ jar ที่ระบุหากคุณต้องการดูวิธีใช้ Javadoc บนคำแนะนำเครื่องมือขณะทำการเข้ารหัสให้ทำดังนี้: คลิกขวาที่โครงการของคุณ> คุณสมบัติ> เส้นทางสร้าง Java> แท็บไลบรารี คลิกที่ลูกศรถัดจากโถของคุณเพื่อขยาย

ซอร์สไฟล์ควรชี้ไปที่ตำแหน่งของ jar จริง (อาจอยู่ในโฟลเดอร์ java ของคุณ)

ตำแหน่ง Javadoc : คุณมีสองตัวเลือกที่นี่: URL และที่เก็บถาวร หาก javadocs ของคุณสำหรับ jar นี้อยู่ในรูปแบบของโฟลเดอร์ที่มีindex.htmlไฟล์ในระดับแรกให้เลือก 'Javadoc URL' แล้วชี้ไปที่โฟลเดอร์นั้น หาก javadocs ของคุณอยู่ใน jar ให้เลือก 'Javadoc in archive' แล้วชี้ไปที่ jar อย่าลืมรีสตาร์ทเวิร์กสเปซ / ปิดแล้วเปิดโครงการของคุณใหม่เพื่ออัพเดทคำแนะนำเครื่องมือด้วยข้อมูล Javadoc

ฉันหวังว่าสิ่งนี้จะช่วยให้คำตอบง่ายๆสำหรับสิ่งที่ฉันเชื่อว่าควรเป็นงานที่ง่ายมาก


0

ทางออกของฉัน:

ดาวน์โหลดปลั๊กอิน eclipse ชื่อ: "Java Source Attacher Feature"

จากนั้นเลือก jar และแนบซอร์สโค้ดโดยใช้ปลั๊กอินนี้ คลิกในไฟล์ jar เพื่อเลือกขวาบนเมาส์แล้วเลือก "แนบซอร์ส java"

เมื่อคุณมีซอร์สโค้ดคุณจะได้ javadoc โดยอัตโนมัติ

ตอนนี้คุณสามารถใช้ F2 บนคลาสเพื่อดู javadoc ที่เชื่อมโยงกัน

สนุก

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