在android studio里面,加载so库

在android studio里面,加载so库:

在app目录下新建libs目录,把libvideo_color_converter.so拷贝到app/libs:

app/libs/
├── arm64-v8a
│   └── libvideo_color_converter.so
└── armeabi-v7a
    └── libvideo_color_converter.so

在build.gradle里面增加jniLibs选项,加好之后重新编译,就会自动生成jniLibs目录,libs

下的库也自动被copy过去了。

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

添加subtask完成copy动作

// task部分在右边的gradle窗口手动执行
task buildJar(type: Jar, dependsOn: ['build']) {
    delete 'output'

    //导出的jar文件名称
    archiveName = 'transcoder.jar'

    //从哪个目录打包jar
    from('build/intermediates/classes/debug')
    exclude('**/R.class')
    exclude('**/BuildConfig.class')

    //需要打包的类
    include('com/video/transcoder/*.class')

    //导出的jar文件的存放目录(未指定则默认存放在build/libs下)
    //destinationDir = file('output')

    copy {
        from 'build/libs/transcoder.jar'
        into 'output'
    }

    //copy so库
    copy {
        from 'build/intermediates/intermediate-jars/debug/jni'
        into 'output/jni'
    }
}

你可能感兴趣的:(在android studio里面,加载so库)