android studio怎么添加.so文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android studio怎么添加.so文件相关的知识,希望对你有一定的参考价值。

   在android studio按照如下步骤添加.so文件(以集成JPUSH为例)。

1、首先,在Module的根目录中建立libs目录,将jpush集成SDK中的so文件分别拷入,如下图:


2、然后就是编写的build.gradle文件,代码如下:

task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs")   
        destinationDir file("$projectDir/libs")  
        baseName "Native_Libs2"  
        extension "jar"  
        from fileTree(dir: "libs", include: "**/*.so")  
        into "lib"  
      
  
    tasks.withType(JavaCompile)   
        compileTask -> compileTask.dependsOn(nativeLibsToJar)  
    

3、

自定义一个任务,在其中指定项目所依赖的so文件的目录,这里用了**/*.so来写,为了省事,指定需要拷入的目录 into "lib",那么动态运行库就被拷入到lib目录中。

完整的build.gradle文件如下:

apply plugin: 'com.android.application'  
  
android   
    compileSdkVersion 21  
    buildToolsVersion "21.1.0"  
  
    defaultConfig   
        applicationId "com.wujay.footerballstar"  
        minSdkVersion 8  
        targetSdkVersion 21  
        versionCode 1  
        versionName "1.0"  
      
  
    buildTypes   
        release   
            runProguard false  
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
          
      
  
    task nativeLibsToJar(type: Zip, description: "create a jar archive of the native libs")   
        destinationDir file("$projectDir/libs")  
        baseName "Native_Libs2"  
        extension "jar"  
        from fileTree(dir: "libs", include: "**/*.so")  
        into "lib"  
      
  
    tasks.withType(JavaCompile)   
        compileTask -> compileTask.dependsOn(nativeLibsToJar)  
      
  
  
dependencies   
    compile fileTree(dir: 'libs', include: ['*.jar'])  
    compile 'com.android.support:appcompat-v7:21.0.0'  
    compile files('libs/jpush-sdk-release1.7.2.jar')  
    compile files('libs/umeng_sdk.jar')  
    compile files('libs/libammsdk.jar')  

参考技术A

1、在src/main中添加 jniLibs文件夹 ,把.so复制进去

2、在build.gradle中就添加这么几行  , 

 sourceSets 
        main 
            jniLibs.srcDirs = ['libs']
        
    

3、然后执行Build——Make Project命令

4、切换到android结构下,你会看到 jniLibs 中.so已经变成了.jar文件,证明已经成功

参考技术B 1、在src/main中添加 jniLibs文件夹 ,把.so复制进去

2、在build.gradle中就添加这么几行 , 看图
复制内容到剪贴板
sourceSets

main

jniLibs.srcDirs = ['libs']





3、然后make project

4、切换到android结构下,你会看到 jniLibs 中.so已经变成了.jar文件,证明已经成功本回答被提问者采纳

android studio添加jar包及so文件问题

在开发过程中经常会遇到添加jar及so文件的问题,一般做法是将它们复制到工程下的Libs文件夹中,然后将jar包添加依赖即可,但有时候会发生找不到so文件的问题,但实际上相关的so文件已经添加到Libs中了,遇到这类的问题的解决办法是,找到app文件夹下的build.gradle文件,并且打开,需要对Libs进行配置。如图:

技术分享

将JniLibs文件夹指向Libs文件夹即可。

本文出自 “移动平台开发” 博客,请务必保留此出处http://liuxudong1001.blog.51cto.com/10877072/1868852

以上是关于android studio怎么添加.so文件的主要内容,如果未能解决你的问题,请参考以下文章

android studio中so库文件夹放在哪

android studio怎么引入.so文件

android studio怎么引用so

关于android studio so文件 冲突 怎么解决

如何在 Android Studio 中添加 .so、.mk 等原生文件?

android studio添加jar包及so文件问题