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.

Reply via email to