android studio 把libs包打包到apk中,设置应用以32bit去读取.so文件

android studio 把libs包打包到apk中;

只需在当前module里的build.gradle添加下列配置:

sourceSets {
    main {
        jniLibs.srcDirs = ['libs']
    }
}


1.这个设置即可把libs包打到apk中,也可以实现下列需要


需求:现在想设置应用加载.so库文件时是以32 bit去加载,怎样在mk编译和android studio 中设置?


1.在mk中设置如下:

LOCAL_JNI_SHARED_LIBRARIES := libmtal
LOCAL_MULTILIB :=32

解释如下:

LOCAL_JNI_SHARED_LIBRARIES := libmtal  这句就是用一个32 bit的.so 名字是libmtal(这个一般在系统中已经配置好了这个SO)只起到引导系统去32 bit下加载其他so文件


2.使用android studio 来编译apk ,引导其使用32 bit去加载其他so文件

需要将so文件放在下图位置:如果你需要用的so是本地打包进去的这样放就ok了,


注意:但是如果程序刚开始运行时没有一个本地的so需要从网络上下载so去以32 bit加载,这是运行在64 bit的系统默认就会以64bit加载

这时我们也像mk文件那样用个空的(libmtal.so)32bit 的so 放在libs -> armeabi-v7a 目录下,这个so只起到引导系统以32 bit 还是64bit


你可能感兴趣的:(android)