2014-3-1更新
最近发现使用旧方法会出现编译apk包的时候无法导入so包的问题,网上看了一圈,发现新的方法。在gradle脚本中加入以下代码就能导入so包了:
dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile fileTree(dir: "libs/armeabi", include: '*/so') }
***旧方法
在你的工程目录中的build.gradle脚本中增加以下代码:
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) }
并且在dependencies中增加这么一行:
compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')
这样就OK了。
贴点stackoverflow的参考:
http://stackoverflow.com/questions/16683775/include-so-library-in-apk-in-android-studio
http://stackoverflow.com/questions/16667903/android-studio-gradle-and-ndk