Bagaimana cara melampirkan javadoc atau sumber ke guci di folder libs?


254

Plugin ADT r17 versi baru untuk fitur yang ditambahkan Eclipse untuk secara otomatis mengatur dependensi JAR. File .jar apa pun di folder / libs ditambahkan ke konfigurasi build sekarang. Sayangnya wadah classpath Dependensi Android tidak dapat dimodifikasi.

Klasifikasi dependensi android yang tidak dapat dimodifikasi

Bagaimana saya bisa melampirkan javadoc dan sumber ke .jar (dari / libs folder) yang dimasukkan secara otomatis?


Saya tidak berpikir pertanyaan Anda dijawab. Jawaban yang diterima Markus memberikan apa yang Anda minta BUKAN sebagai solusinya. Bagaimana kita bisa melampirkan javadoc dan sumber melalui lib-lib otomatis (bukan melalui guci manual)?
pjv

2
Ada masalah untuk kode bug ini.google.com/p/android/issues/detail?id=27490#c21 . Komentar 21 mengatakan bahwa melampirkan sumber / javadoc akan dimungkinkan dalam ADT r20 dengan file .properties java standar (foo.jar -> foo.jar.properties) yang memungkinkan Anda mengedit jalur relatif atau absolut ke folder sumber (atau arsip) dan / atau jalur relatif atau absolut ke javadoc.
Sergii Pechenizkyi

Jawaban:


401

Cara terbaik untuk menjawab pertanyaan Anda adalah dengan merangkum jawaban dari Xavier , plastiv , VinceFR dan Christopher .

Panduan langkah demi langkah

Untuk menautkan sumber dan javadoc ke pustaka .jar yang secara otomatis ditautkan oleh Eclipse Anda harus melakukan hal berikut:

  1. Tempatkan pustaka .jar file dalam folder libs , dan file .jar dan doc .jar file yang terkait dalam subfolder terpisah seperti libs / src dan libs / docs . Anda dapat menggunakan nama selain src dan docs jika Anda mau, tetapi penting bahwa file .jar tidak langsung di folder libs .
  2. Buat .propertiesfile di folder libs dengan nama persis pustaka aktual .jar (lihat contoh). Pastikan Anda menyimpan bagian .jar .
  3. Tentukan jalur relatif ke sumber dan javadoc .jar dalam .propertiesfile.
  4. Tutup dan buka kembali proyek Eclipse! Secara opsional, segarkan proyek dengan menekan F5.
  5. Pilih objek perpustakaan yang ditautkan dalam kode sumber.
  6. Buka tampilan Javadoc di Eclipse untuk memeriksa dokumentasi (lihat tangkapan layar).
  7. Buka deklarasi kode sumber (pintasan default:) F3dari objek yang dipilih.


Contoh

Contohnya menggunakan perpustakaan Gson .

Struktur direktori folder 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

Isi dari gson-2.2.2.jar.properties

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


Informasi tambahan

Tentu saja Anda dapat memindahkan javadoc dan sumber .jar ke folder lain dan menentukan jalur relatif. Terserah kamu. Menempatkan sumber dan toples javadoc langsung ke folder lib dimungkinkan tetapi tidak disarankan , karena hal itu menyebabkan dokumentasi dan kode sumber dimasukkan dalam aplikasi Anda .


Cuplikan layar panel Eclipse JavaDoc:

Tampilan JavaDoc di Eclipse

Cuplikan layar proyek Eclipse menggunakan Gson dengan Android 4.2.2 .:

Tangkapan layar proyek uji Eclipse


Referensi javadocs yang belum dibongkar

Jika Anda ingin referensi javadocs yang tidak disediakan sebagai paket .jartetapi hanya sebagai file dan folder seperti yang diminta oleh pengembang android di komentar lakukan hal berikut:

  1. Tempatkan perpustakaan .jardi libs/folder
  2. Buat yourlibraryname.jar.propertiesfile ( jangan lupa.jar ) dengan konten berikut:

     doc=docs
  3. Tambahkan folder javadocs ke libs/folder.

Anda harus membuat struktur folder berikut:

├── 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

Jangan lupa untuk menutup dan membuka kembali proyek Eclipse seperti yang disebutkan di atas! Berikut ini adalah tangkapan layar dari proyek contoh yang berfungsi yang mereferensikan perpustakaan GoogleAdMobAds Android .

Proyek Eclipse perpustakaan GoogleAdMobAds Android


7
Ahhh, itu adalah penutupan dan pembukaan kembali proyek Eclipse yang diperlukan untukku. (Saya telah menyegarkan dan membersihkan beberapa kali tanpa hasil sebelumnya.)
Steve Haley

4
Terima kasih @JJD, itu bekerja dengan baik. Saya hanya harus memulai ulang Eclipse sebelum mulai bekerja.
javajavajavajavajava

26
Catatan: Anda benar - benar harus meletakkan Javadoc dan source JAR ke dalam subdirektori, misalnya "./libs/docs", jika tidak, JAR ini akan dibundel ke dalam APK Anda! Selain itu, Anda tidak akan bisa memasukkan Javadoc untuk banyak pustaka, karena membangun APK akan gagal ketika menemukan duplikat file HTML.
Christopher Orr

5
Apakah mungkin untuk merujuk ke javadoc jarak jauh dari file .properties? Seperti itu: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias

9
Tampaknya ini tidak berfungsi jika Anda hanya akan menautkan Javadoc dan bukan kode sumber, saya harus mengekstrak jar Javadoc dengan 7zip ke folder di My Documents, lalu minta properti file arahkan ke folder dengan indeks Javadoc .html langsung suka jadi doc = C: \\ Pengguna \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi

25

Pada windows Anda harus menghindari backslash untuk referensi ke jalur doc dan src di file properti. Contoh, untuk android-support-v4.jar konten file properti adalah sesuatu seperti:

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
wow jawaban Anda memecahkan masalah saya, saya meletakkan satu \ tetapi kita harus meletakkan \\ .terima kasih banyak
Arash

17

Jawaban datang dari http://code.google.com/p/android/issues/detail?id=27490#c21

Di folder libs Anda, Anda harus memiliki:

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

Dan di dalam Anda foo.jar.properties, cukup cantumkandoc=./doc/foo_doc

Mungkin Anda harus menyegarkan proyek Anda, untuk membersihkannya, untuk menutupnya dan untuk membukanya kembali.

Ini bekerja untuk saya!


Jika Anda memiliki dokumen dalam file zip, ini adalah cara untuk pergi, terima kasih banyak !! acungan jempol
Akhil Jain

10

Saya mencoba semua hal di atas dan tidak ada yang bekerja untuk saya. Saya menemukan metode yang akan selalu berhasil. Pada dasarnya, pelakunya adalah cara ADT memperlakukan folder "libs" jadi saya berhenti menggunakan folder "libs". Sebaliknya saya membuat folder "libraries" dan menggunakannya.

Anda dapat melakukan hal berikut ini dan itu akan selalu berhasil - bahkan jika ADT harus mengubah cara itu mengubah cara berurusan dengan folder "libs" di masa depan:

  1. Buat folder "perpustakaan".
  2. Buat sub-folder di bawahnya untuk setiap perpustakaan.
  3. Letakkan semua file untuk setiap perpustakaan di folder yang sesuai (file jar java, file jar sumber, file jar javadoc, dll).
  4. Tambahkan file jar java untuk setiap proyek di tab "Perpustakaan" untuk Java Build Path dengan mengklik Add Jars...tombol untuk menambahkan jar dari sub-folder perpustakaan di folder "perpustakaan".
  5. Lampirkan sumber / javadocs ke setiap proyek dengan membuka proyek di tab "Libraries", memilih item yang diinginkan, dan mengklik Edit...tombol untuk menambahkan sumber / javadocs dari sub-folder perpustakaan di folder "libraries".
  6. Centang kotak untuk setiap proyek di tab "Pesanan dan Ekspor" untuk Java Build Path.
  7. Setelah memverifikasi bahwa semua perpustakaan telah dipindahkan hapus folder "libs".

Dengan mengikuti prosedur di atas proyek Anda akan memiliki folder yang terlihat seperti ini:

masukkan deskripsi gambar di sini

Java Build Path Anda akan terlihat seperti ini:

masukkan deskripsi gambar di sini

Dalam Urutan dan Ekspor perpustakaan dicentang:

masukkan deskripsi gambar di sini


5

Untuk saat ini, pindahkan perpustakaan yang Anda inginkan Javadoc lib. Mereka menambahkan perpustakaan itu ke Build Pathdan menambahkan Javadoc.

Periksa komentar ini di masalah android.


Jangan lupa (seperti yang saya lakukan) untuk memeriksa pesanan dan mengatur perpustakaan untuk mengekspor di Build Path.
Carlos Sobrinho

4

Pada ADT 22 saya tidak bisa mengakses Javadoc untuk commons-io-2.4.jar dan android-support-v4.jar

Inilah cara saya memperbaikinya:

  1. Prasyarat: kedua perpustakaan terdaftar di bawah "Perpustakaan yang Dirujuk".

  2. Klik kanan pada commons-io-2.4.jar dan pilih Properties. Jendela ini muncul:

masukkan deskripsi gambar di sini

commons-io-2.4.jar dibundel dengan commons-io-2.4-javadoc.jar, jadi saya menentukan Javadoc dalam arsip External file path.

Saya melakukan hal yang sama untuk perpustakaan dukungan: klik kanan pada android-support-v4.jar dan pilih Properties. Layar ini muncul:

masukkan deskripsi gambar di sini

Kali ini saya menetapkan jalur ke direktori sumber.


Sejauh ini, ini adalah metode termudah dan paling langsung untuk melampirkan javadoc dan / atau src ke perpustakaan. Terima kasih! Sebagai catatan tambahan, javadoc maupun src tidak diharuskan berada di Perpustakaan yang direferensikan.
perak

3

Referensi perpustakaan ke commons-io-2.0.1.jar rusak ketika saya memutakhirkan ke SDK Tools dan revisi ADT 17.

Untuk mengatasi masalah saya menggunakan Project -> Properties -> Java Build Path dan saya memilih tab Libraries. Saya menghapus referensi apa pun ke commons-io-2.0.1.jar dan kemudian menggunakan Add Jar untuk menambahkan kembali commons-io-2.0.1.jar ke proyek. Lalu saya klik panah '>' di sebelah nama perpustakaan untuk memperluas referensi perpustakaan dan saya menggunakan tombol edit untuk mengatur lampiran Sumber dan lokasi Javadoc.

Maaf saya tidak dapat memposting gambar karena saya tidak punya cukup rep (tolong ...).


Tidak bekerja untuk saya. Di mana Anda menyimpan file jar di proyek Anda? Saya punya milik saya di folder libs.
Daniel Ryan

Akhirnya seseorang memberikan instruksi yang benar-benar berhasil! Terima kasih banyak Tak satu pun dari metode yang disebutkan sebelumnya termasuk file ".properties" tidak ada gunanya bagi saya, tetapi ini menambahkan perpustakaan sebagai JAR eksternal di layar dialog melakukan pekerjaan.
AlxDroidDev

1

Tampaknya menjadi target yang bergerak tetapi, setelah mengumpulkan potongan-potongan dari banyak tempat (termasuk jawaban untuk pertanyaan yang sangat membantu tetapi gagal menggambarkan semua detail yang diperlukan, atau mungkin sistem telah berubah sedikit sementara), ini tampaknya menjadi solusinya, setidaknya pada saat ini (28 Agustus 2013).

  • Buka folder untuk javadocs Anda di suatu tempat tidak di dalam proyek Anda.
  • Masukkan javadocs Anda di sana membuka ritsleting, masing-masing ke foldernya sendiri.
  • Di dalam libfolder Anda , tambahkanxxx.jar.properties file untuk setiap lib yang ingin Anda kaitkan dengan javadoc.
  • Dalam file properti itu, lihat folder tempat Anda membuka ritsleting javadoc yang sesuai (pada Windows, lepas dari garis miring terbalik):

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

  • Tutup dan buka kembali proyek Anda di Eclipse (menyegarkan tidak cukup). Anda sekarang akan melihat tooltips ketika Anda mengarahkan kursor ke kelas yang sesuai.

Gagal mematuhi langkah-langkah ini (tidak membuka ritsleting javadoc, merujuk file alih-alih folder, dll) tampaknya mematahkannya.


1

Saya tahu pertanyaan ini agak lama, tetapi ketika saya menghadapi masalah yang sama kemarin dan solusi yang diposting di atas terlalu mengganggu bagi saya, saya menemukan bahwa orang dapat dengan mudah menambahkan definisi jalur sumber ke file .classpath proyek. Eclipse kemudian akan menyesuaikannya dan Anda dapat menelusuri sumbernya.

entri classpath sebelumnya:

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

Setelah menambahkan path ke sumbernya

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

Semoga ini membantu


0

perbarui saja plugin ADT. Itu berhasil bagi saya !!

  1. Mulai Eclipse, lalu pilih Bantuan> Instal Perangkat Lunak Baru.
  2. Klik Tambah, di sudut kanan atas.
  3. Dalam dialog Tambahkan Repositori yang muncul, masukkan "Plugin ADT" untuk Nama dan URL berikut untuk Lokasi: https://dl-ssl.google.com/android/eclipse/ Catatan: Situs pembaruan Alat Pengembang Android memerlukan koneksi aman. Pastikan URL situs pembaruan yang Anda masukkan dimulai dengan HTTPS.
  4. Klik OK. Dalam dialog Perangkat Lunak yang Tersedia, pilih kotak centang di sebelah Alat Pengembang dan klik Berikutnya.
  5. Di jendela berikutnya, Anda akan melihat daftar alat yang akan diunduh. Klik Selanjutnya.
  6. Baca dan terima perjanjian lisensi, lalu klik Selesai.
  7. Jika Anda mendapatkan peringatan keamanan yang mengatakan bahwa keaslian atau validitas perangkat lunak tidak dapat dibuat, klik OK.
  8. Ketika instalasi selesai, restart Eclipse

Semoga itu bisa membantu!


0

Untuk setiap stoples yang diberikan, jika Anda ingin melihat bantuan Javadoc pada tooltip saat coding, lakukan hal berikut: Klik kanan proyek Anda> Properties> Java Build Path> Libraries Tab. Klik panah di sebelah toples Anda untuk mengembang.

Lampiran sumber harus menunjuk ke lokasi tabung yang sebenarnya (mungkin tepat di folder java Anda).

Lokasi Javadoc : Anda punya dua pilihan di sini: URL dan arsip. Jika javadocs Anda untuk toples ini berada dalam bentuk folder yang berisi index.html file di tingkat pertama, pilih 'Javadoc URL' dan arahkan ke folder itu. Jika javadocs Anda ada dalam toples, pilih 'Javadoc in archive' dan arahkan ke toples. Jangan lupa untuk me-restart ruang kerja Anda / tutup dan buka kembali proyek Anda untuk memperbarui tooltip dengan info Javadoc.

Saya harap ini membantu memberikan jawaban sederhana untuk apa yang saya yakini sebagai tugas yang sangat sederhana.


0

Solusi saya:

Unduh plugin gerhana bernama: "Fitur Java Source Attacher".

Kemudian, pilih toples dan lampirkan kode sumber menggunakan plugin ini. Klik di file jar untuk memilihnya, buttom kanan pada mouse, dan kemudian pilih "lampirkan sumber java".

Ketika Anda memiliki kode sumber, Anda memiliki javadoc secara otomatis.

Sekarang Anda dapat menggunakan F2 di atas kelas untuk melihat javadoc yang terkait.

Nikmati

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.