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.

Reply via email to