Hi, Xavier I tried the solution which moves all .so files to src/main/jniLibs/armeabi, but it still does not work. When I unzip the generated apk from build/outputs/apk, I don't see any lib directory. Is there any setting I should double check?
I also check your ndkLibPrebuilts sample and directory structures are the same (src/main/jniLibs/armeabi). My environment: 1. Android studio on a Mac book pro 2. Used a rooted Nexus 5 to test Thanks Alex On Friday, February 27, 2015 at 1:30:06 AM UTC-8, Xavier Hallade wrote: > > Hi, > > .so files integration is perfectly supported when the .so's are put under > jniLibs/<abi> of any project or library, or integrated through an .aar > dependency. > > no hacks should be used anymore (since android plugin 0.7 I guess). > integrating .so files from jars this way can indeed lead to duplication > issues and other errors. > In the final APK, .so files should be under lib/<abi>. > main/jniLibs is a proper location for .so files inside the project but > absolutely not for .so files inside the APK. > > > Regards, > Xavier. > > On Friday, February 27, 2015 at 7:21:50 AM UTC+1, Jacob G wrote: >> >> Hi Thomas, >> >> I also had the same problem, and came up with the same solution as you. I >> was wondering how can that be if everyone is saying to put it in src/main. >> I came across your thread here, and I guess I feel better someone else also >> experienced the same thing. But I'm wondering what is going on that >> everyone else does it differently. Maybe they don't notice the dupes? >> >> On Saturday, April 5, 2014 at 3:51:35 PM UTC-4, Thomas Gravina wrote: >>> >>> Did anyone of you noticed that this process include the .so files twice >>> into the final apk? >>> >>> I recently switched to Android Studio and started using Gradle to build >>> my Android project and I've got a weird behavior. Basically, I have a lib >>> in app/src/main/jniLibs, divided in two folders: armeabi and armeabi-7va. >>> The problem is that since I use Gradle, the APK file is twice more >>> heavier. The reason is that Gradle copy the *.so files twice in the APK at >>> two different locations: >>> - lib/ >>> - main/jniLibs/ >>> >>> When I used to build using Eclipse, everything was fine, *.so files were >>> copied only one time. >>> >>> Does anyone know if there is a way to avoid this behavior? Is this a bug >>> in Gradle or am I doing something wrong? >>> >>> On Wednesday, June 5, 2013 7:11:30 AM UTC+1, Yonnie Lu wrote: >>>> >>>> There is a topic we known as: "https://gist.github.com/khernyo/4226923", >>>> But i have try this method in gradle plugin 0.4.0+, it doesn't copy the so >>>> libs to apk. >>>> So I'm confused. But I figured out a new way to hack this before gradle >>>> support. >>>> The way is: use jar to copy so libs. Is it amazing?right?. Let me show >>>> how-to: >>>> If you have the following structure: >>>> project >>>> |---libs >>>> |---armeabi/xxx.so >>>> |---xxx.jar >>>> |---xxx.jar >>>> 1.We archive the armeabi folder to zip named:armeabi.zip with the >>>> folder in zip like: lib/armeabi/xxx.so >>>> 2.Rename armeabi.zip to armeabi.jar and put armeabi.jar into libs >>>> folder with the other jars. >>>> 3.And when we call >>>> dependencies { >>>> compile fileTree(dir: 'libs', include: '*.jar') >>>> } >>>> in our build.gradle file, it will extract the so libs to the apks. >>>> >>>> As we know, only class files will be packed into classes.dex file and >>>> other files will be extracted to the apk as the structure in the jars. >>>> So, That's how-to hack. Easy and amazing. Cool,right? >>>> >>> -- You received this message because you are subscribed to the Google Groups "adt-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to adt-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.