5

Android Studio打包.so文件教程

 3 years ago
source link: http://www.androidchina.net/1691.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Android Studio打包.so文件教程 – Android开发中文站
你的位置:Android开发中文站 > Android开发 > Android Studio打包.so文件教程

“最近开发项目遇到了这个问题,忙活两天,直到在Android Studio的QQ群里问了相关人员,才找到了解决办法,在此与大家分享,共同进步”

在eclipse里,.so文件eclipse会帮助我们自动打包进apk文件,通常是放在:libs/armeabi目录,然后把libxxx.so拷贝到这个目录下,这样NDK就会自动把这个libxxx.so打包进apk,安装apk后位置是在放在your_apk_package_name/lib/目录下。

android studio就有些不同了,下面给大家介绍一下,方法很简单,一学就会。

这里给大家介绍三种方法,来自网络和QQ群:

1.来自网页

将需要打包进apk内的so文件放入项目文件夹下的libs目录,然后在app内(注意是app内的,不是project的)的build.gradle中的android {        }中添加如下代码

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

添加后是这样的(仅为范例):

apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}

这样就可以把so文件打包进apk了,这是笔者亲测可用的一个。

2.来自QQ群:

在项目内新建目录:jniLibs文件夹(与res目录同级),然后将so文件放入其中,不用配置gradle内即可自动打包

这个方法,未测试,但来自google官方文档,必然有用。

来自QQ群:Android Studio Tech

3.来自网页

1) 在硬盘任意位置建立空文件夹 “lib” (注意名字是 “lib” 而不是 “libs” )

2) 把原来的 libs 目录下的 armeabi 文件夹拷贝至 刚建立的 lib 目录下. (armeabi文件夹中的.so文件也会被一并拷入)

3) 将刚建立的 “lib” 目录打包压缩成 .zip 文件, 同时改名为 “armeabi.jar”

4) 将 armeabi.jar 放入原来的 libs 目录下 (和其他第三方jar包放在一起)

5)更新as的第三方库即可

网络上挺认同的方法,不知道适不适用于正式版的as。

经历了这个事件,才发现浏览官方文档是多么的重要,不过在天朝“伟大的墙”内,可是苦了我们开发者了。
希望各位志同道合的朋友:再忙也要看看官方文档!

共同分享,共同进步!

转载请注明:Android开发中文站 » Android Studio打包.so文件教程


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK