/ / Ako správne zväzovať knižnice tretích strán do knižničných projektov na vytváranie súborov .jar? - java, android, intellij-idea, loopj

Ako správne zbierať knižnice tretích strán do knižničných projektov pre tvorbu .jar? - java, android, intellij-idea, loopj

Snažím sa vytvoriť SDK knižnica (.jar), ktoré môžu vývojári zahrnúť do svojich projektov. The knižnica projekt použije na dosiahnutie sieťovej funkčnosti knižnicu loopj network 3. strany. Potrebujem teda zväzok knižnice (loopj) do inej knižnice (naša vlastná knižnica) a vypísať jar.

Existujú dva projekty, (1) Projekt knižnice SDKa (2) demo projekt aplikácie pre Android slúži na testovanie knižnice SDK.

Projekt knižnice SDK je v poriadku atriedy používajúce triedy loopj ich môžu bez problémov referencovať. Zostavujem projekt SDK na výstup súboru .jar na testovanie v ukážkovom projekte systému Android.

Problém je, keď pridám.súbor jar do projektu demo aplikácie, vyskytla sa chyba, že triedy knižnice nemôžu „vidieť“ loopj sieťové triedy (chyba dole). Zvláštne, pretože príslušné triedy nemali problém vidieť loopj späť v projekte knižnice .. Takže predpokladám, že som do projektu knižnice nepridal správne knižnicu loopj. Možno mi niekde ušiel krok ..

Veci, ktoré som vyskúšal:

  • Pridaný loopj jar do projektu knižnice (SDK) prostredníctvom "Súbor> Štruktúra projektu> Knižnice> + Pridať"
  • Potvrdené, že triedy loopj sú viditeľné pre projekt knižnice (SDK)
  • Exportoval sa samotný projekt knižnice (SDK) ako jar
  • Do testovacieho projektu bola pridaná nádoba súpravy SDK
  • (zlyhanie demo projektu: triedy loopj neboli nájdené objektom SDK)

Otázka: aký je postup na správne zoskupenie knižníc tretích strán do knižničných projektov na vytvorenie súboru .jar?

* Používanie Intellij IDEA 14 CE

02-20 12:44:43.535  20301-20301/com.zoids.android.example E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.zoids.android.example, PID: 20301
java.lang.NoClassDefFoundError: com.loopj.android.http.AsyncHttpClient
at com.zoids.Zoids.detectImageWithURL(Zoids.java:184)
at com.zoids.android.example.MyActivity.onCreate(MyActivity.java:52)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)

odpovede:

0 pre odpoveď č. 1

V prvom rade je to problém kvôli chýbajúcej nádobe na ceste triedy / cesty k zostaveniu Takže skúste kliknúť pravým tlačidlom myši na svoj projekt a pridať externé nádoby ako loopj a pridať ich na cestu k vášmu projektu ...

Po druhé, spojiť ich všetky dokopy .... zvyčajne existuje možnosť exportovať projekt ... Vyberte si ako výstup jar a to je všetko. Doufam, že to pomôže.