Android Studio打包.so库到apk中
2015-05-12 21:15
274 查看
转载:http://blog.csdn.net/way_ping_li/article/details/44631017
由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclipse工具就会自动把这些库导入到apk中。而Android Studio目前为止(1.1.0版本)还无法做到那么自动,但是我们可以通过以下方式进行。
首先在Android Studio工程的app目录下创建整个jni目录,jni目录里写Android.mk、Application.mk以及各类C/C++和汇编源文件。然后跟原来一样,用ndk_build工具去编,然后工具会自动生成libs目录,里面还有每个你在Application.mk里所指定处理器架构的so文件。
完成之后,编辑你对应module(类似eclipse中的project)目录下的build.gradle文件,为其添加以下代码:
[html] view
plaincopy
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
比如本人module完整的build.gradle文件如下所示:
[html] view
plaincopy
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.example.way.aligesture"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':acra')
compile project(':hwdroid')
}
最后记得选中对应的module右击synchronize同步一下,以便使其生效。如下图所示,module目录下回生成一个jniLibs目录,再打包生成的apk就会带上.so了。
由于在原来的ADT的Eclipse环境中,用ndk_build工具生成了相应的各个.so库文件之后,eclipse工具就会自动把这些库导入到apk中。而Android Studio目前为止(1.1.0版本)还无法做到那么自动,但是我们可以通过以下方式进行。
首先在Android Studio工程的app目录下创建整个jni目录,jni目录里写Android.mk、Application.mk以及各类C/C++和汇编源文件。然后跟原来一样,用ndk_build工具去编,然后工具会自动生成libs目录,里面还有每个你在Application.mk里所指定处理器架构的so文件。
完成之后,编辑你对应module(类似eclipse中的project)目录下的build.gradle文件,为其添加以下代码:
[html] view
plaincopy
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
比如本人module完整的build.gradle文件如下所示:
[html] view
plaincopy
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.example.way.aligesture"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':acra')
compile project(':hwdroid')
}
最后记得选中对应的module右击synchronize同步一下,以便使其生效。如下图所示,module目录下回生成一个jniLibs目录,再打包生成的apk就会带上.so了。
相关文章推荐
- Android Studio打包.so库到apk中
- Android Studio打包.so库到apk中实例详解
- Android 项目利用 Android Studio 和 Gradle 打包多版本APK
- Android Studio 指定DEBUG和RELEASE版本打包时的APK文件名
- Android studio 下的APK打包失败问题解决办法
- android studio打包signature version勾选及APK版本更新
- Android Studio 超级简单的打包生成apk
- 利用 Android Studio 和 Gradle 打包多 版本APK
- android studio打包apk 百度地图不显示的问题
- Android Studio 友盟api实现apk多渠道打包
- Android Studio(十一):代码混淆及打包apk
- Android Studio升级2.3后Apk打包后无Key解决办法
- Android Studio(十二):打包多个发布渠道的apk文件
- Android Studio打包APK时出现 is not translated in "en" (English) [MissingTranslation]
- Android studio打包APK混淆配置
- 砖垛之android studio 友盟多渠道打包apk
- android studio打包生成apk
- Android NDK——配置NDK及使用Android studio开发Hello JNI并简单打包so库
- Android Studio打包apk,aar,jar包
- Android Studio打包Signed APK 碰到的一个Error