is there any way to use .aar library (with resources) in eclipse ant project? I know that there is no simply way to use .aar format like in gradle, but maybe there is some workaround to unzip it and import it manually?
问题:
回答1:
This solution was helpful for me
EDIT: A .aar file is simply a zip file with the following contents:
- AndroidManifest.xml (Required file)
- classes.jar (required file)
- Res / (compulsory folder)
- R.txt (Required file)
- Assets / (Optional folder)
- libs/*.jar (folder option)
- jni//*.so (optional folder)
- proguard.txt (optional file)
- lint.jar (optional file)
You see, within the .aar file you have everything you need to operate the library in eclipse.
to create library:
- CREATE a new project (hereafter library project ) to your workspace. Do not forget to mark it as a library.
- Leave empty src folder library project .
- .aar Decompresses the file. You can rename it to .zip and unzip or use any tools.
- Copy the file classes.jar into the libs file folder library project .
- Res folder replaces the library project with .aar res file folder.
- You've created the project that contains almost everything you need.
Now let's see how to configure your project to reference the library project.
- In the project you want to use the library (henceforth, project goal ) added as the dependency library project .
- Open AndroidManifest.xml .aar within the file and make sure to copy everything it takes (permits, activities, services, receivers ...) in the file AndroidManifest.xml project objective .
- If there is, copy the entire contents of the folder assets .aar file in the assets folder target project .
If there is, copy the entire contents of the file .aar libs folder in folder libs target project .
Make a Clean the workspace and recompiled.
http://www.iphonedroid.com/blog/utilizar-ficheros-aar-en-eclipse/#.Vh3krye1Gko
回答2:
Indeed, aar files are just archive files. So you can unzip it and find jar files along with ressources files. The question have already been partially answered here:
https://stackoverflow.com/a/21485222/1836870
If you want to get the ressources inside your jar, you could try repackage like it's suggested in this answer:
https://stackoverflow.com/a/21417599/1836870
回答3:
The brunt of the work can be done by a wonderful script called deaar. The gist explains things, but basically you run:
ruby deaar.rb [path/to/aar] [output_directory]
It outputs an almost ready to use library. Next, you need to run:
cd [output_directory]
android update lib-project -p . -t android-xx
Replace xx with the Android version you're targeting. Now put that directory where your build.xml and project.properties are. Finally, add a line like this to your project.properties:
android.library.reference.1=./output_directory
Replace the directory name with the one you created. You can use ".2" and so on for additional libraries. And that's it!
回答4:
Twitter Fabric(Crashlytics) has a kits-libs plugin for dependencies management http://docs.fabric.io/android/fabric/eclipse.html.
And there's another gradle plugin project https://github.com/ksoichiro/gradle-eclipse-aar-plugin.