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 [email protected]. For more options, visit https://groups.google.com/d/optout.
