Lägga till bibliotek till Android Studio, är det omöjligt?

Permalänk
Medlem

Lägga till bibliotek till Android Studio, är det omöjligt?

Har nu i två dagar slitit mitt hår för att detta in fungerar och vänder mig nu till er på Sweclockers! Vi har ett projekt i skolan där vi ska bygga en app som kan läsa excel filer. Efter mycket sökande hittade vi Apache POI biblioteket som verkade vara precis vad vi var ute efter. För att importera biblioteket, testade jag först att lägga till dessa beroendena:

compile 'org.apache.poi:poi:3.14' compile 'org.apache.poi:poi-ooxml:3.14' compile 'org.apache.poi:poi-ooxml-schemas:3.14' compile 'org.apache.xmlbeans:xmlbeans:2.6.0'

Detta gav mig felen att jag försökte lägga till en core java fil till build pathen:

AGPBI: {"kind":"error","text":"trouble processing \"javax/xml/XMLConstants.class\":","sources":[{}]} AGPBI: {"kind":"error","text":"Ill-advised or mistaken usage of a core class (java.* or javax.*)","sources":[{}]} AGPBI: {"kind":"error","text":"when not building a core library.","sources":[{}]} AGPBI: {"kind":"error","text":"This is often due to inadvertently including a core library file","sources":[{}]} AGPBI: {"kind":"error","text":"in your application\u0027s project, when using an IDE (such as","sources":[{}]} AGPBI: {"kind":"error","text":"Eclipse). If you are sure you\u0027re not intentionally defining a","sources":[{}]} AGPBI: {"kind":"error","text":"core class, then this is the most likely explanation of what\u0027s","sources":[{}]} AGPBI: {"kind":"error","text":"going on.","sources":[{}]} AGPBI: {"kind":"error","text":"However, you might actually be trying to define a class in a core","sources":[{}]} AGPBI: {"kind":"error","text":"namespace, the source of which you may have taken, for example,","sources":[{}]} AGPBI: {"kind":"error","text":"from a non-Android virtual machine project. This will most","sources":[{}]} AGPBI: {"kind":"error","text":"assuredly not work. At a minimum, it jeopardizes the","sources":[{}]} AGPBI: {"kind":"error","text":"compatibility of your app with future versions o osv

Nähä, tänkte jag. Laddade hem en zip fil från deras hemsida som innehöll alla jar filer istället och la dessa i min libs mapp. La också till detta som beroende: compile fileTree(dir: 'libs', include: ['*.jar'])

Nu får jag istället

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:(org.apache.commons.logging.LogFactory$2) that doesn't come with an Error:associated EnclosingMethod attribute. This class was probably produced by a Error:compiler that did not target the modern .class file format. The recommended Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any "-target" type options. The consequence of ignoring Error:this warning is that reflective operations on this class will incorrectly Error:indicate that it is *not* an inner class.

Har sökt och sökt och förstått att detta ska gå att lösa om jag tar alla ca 10 jar filer, decompilar och recompilar dem igen. Problemet är att de är så många filer och att jag inte fattar hur Apaches repo funkar, hur laddar jag ner en hel mapp egentligen? Och vad ska jag välja? https://svn.apache.org/repos/asf/poi/branches/

Hittade sedan ett program som man kunde decompila JAR filer i, så det har jag testat för att sedan lägga in klasserna i Eclipse och sedan exportera dem som JAR igen, men får bara compile errors som inte berättar vad som är fel.

Vad ska man göra egentligen? Jag har importerad bibliotek tidigare utan problem.

Permalänk
Hedersmedlem
Skrivet av Baxtex:

Har sökt och sökt och förstått att detta ska gå att lösa om jag tar alla ca 10 jar filer, decompilar och recompilar dem igen. Problemet är att de är så många filer och att jag inte fattar hur Apaches repo funkar, hur laddar jag ner en hel mapp egentligen? Och vad ska jag välja? https://svn.apache.org/repos/asf/poi/branches/

Man kan ju ladda ned zip-filer och liknande här, eller behöver du en nyare version?

Permalänk
Medlem
Skrivet av Elgot:

Man kan ju ladda ned zip-filer och liknande här, eller behöver du en nyare version?

Tack, det hade jag missat!

Det verkar dock som att jag löst det nu till en viss del. För tillfället behöver jag bara använda två klasser och dessa finns i jar filerna poi-3.14-20160307 och poi-ooxml-3.14-20160307, så de la jag till i libs mappen. Och nu helt plöstsligt kan jag builda och köra appen utan problem. Men jag kan ju dock få fler problem om jag vill använda andra klasser och behöver en annan jar fil.

Några tankar omkring varför jag fick mitt tidigare problem? Jag tolkade det som att en eller flera av jar filerna var compilade för äldre versioner av Java, eller att de kom i konflikt med klasser från core libraryn.