nativeLibsToJar 有什么神奇之处

what is the magic of nativeLibsToJar

以下代码片段似乎是如何使用 Android Studio 包含本机库的答案:

task nativeLibsToJar(type: Zip, description: 'create a jar archive of the native libs') {
    destinationDir file("$buildDir/native-libs")
    baseName 'native-libs'
    extension 'jar'
    from fileTree(dir: 'libs', include: '**/*.so')
    into 'lib/'
}

tasks.withType(Compile) {
    compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

好像只是把*.so打包成*.jar。但是我真的不明白:

感谢每一个解释:)

这真的很有趣 - 我多次找到这个作为解决方案:

task nativeLibsToJar(type: Zip, description: 'create a jar archive of the native libs') {
    destinationDir file("$buildDir/native-libs")
    baseName 'native-libs'
    extension 'jar'
    from fileTree(dir: 'libs', include: '**/*.so')
    into 'lib/'
}

但它可以被删除,因为它没有任何用处(也许它在旧版本中有用)。

真正的技巧是通过sourceSets.main.jniLibs.srcDir 'src/main/libs/' //integrate your libs from libs instead of default dir 'jniLibs

完成的