Android Studio 下进行jni开发及打包方法

最近几天查找了好多关于Android Studio开发JNI资料的资料,但是一直编译不成功!原因可能是和Android Studio的最新版本有关,或者多数都是使用Eclipse进行Android JNI 开发的,不适用Android Studio 吧!

首先介绍我的开发环境:

操作系统:Ubuntu Kylin15.04 32位

开发工具:Android Studio

JDK版本:

java version "1.7.0_79"

OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu1)

OpenJDK Server VM (build 24.79-b02, mixed mode)

NDK版本:android-ndk-r10d

示例:以samples/hello-jni 为例子:

1。先将hello-jni以Module导入到Android studio 里,

2。配置local.properties 文件属性值(以下是我的配置):

sdk.dir=/home/xff/android/android
ndk.dir=/home/xff/android/android-ndk-r10d

3。修改hello-jni 下的build.gradle文件:把targetSdkVersion的值修改了一下

apply plugin: ‘com.android.application‘

android {
    compileSdkVersion 21
    buildToolsVersion "19.1.0"

    defaultConfig {
        applicationId "com.example.hellojni"
        minSdkVersion 3
        targetSdkVersion 21

        ndk {
            moduleName "hello-jni"
        }

        testApplicationId "com.example.hellojni.tests"
        testInstrumentationRunner "android.test.InstrumentationTestRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘
        }
    }
}

4。如果调试,直接就可以运行(或者按shift+F10)即可

5。如果打签名包,还要修改一个地方AndroidManifest.xml:

将android:debuggable=”true” 删除掉,然后打签名包即可!

注意:在Java代码中调用时:

 static {
        System.loadLibrary("app");
    }

这个“app”的值和Android.mk的LOCAL_MODULE := app是一致的

时间: 2024-10-29 05:02:23

Android Studio 下进行jni开发及打包方法的相关文章

【android 开 发 】 - Android studio 下 NDK Jni 开发 简单例子

Android 开发了一段时间,一方面 ,感觉不留下点什么.有点对不起自己, 另一方面,好记性不如烂笔头,为了往后可以回头来看看,就当做是笔记,便决定开始写博客.废话不多说 ! 今天想搞一搞 ndk 和jni  ,, 现在开始写一个简单的demo  1. 创建一个新的工程 2. 创建一个新的类 JniText.java  点击Build--Make Project  后     选中工程 点击F4键 sdk location 中 Android ndk location 选择配置ndk 的路径 

Android Studio下Java Jni技术

最近开发Android的过程中需要通过C来调用Android终端中的某些API,而我是用JAVA语言来开发的Android程序,所以就需要用到JNI调用. 流程是,用C来调用Android硬件接口,约定JAVA调用C的接口,然后把这些代码封装编译成.so文件.然后就是怎么引入与调用了. 1.将.so文件加入到libs目录下,.so文件命名规范为lib*,lib后加上名字. 2.加入jniLibs路径配置,在build.gradle中加入如下配置: android {     --     sou

android studio下生成jni头文件

cd app/src/main javah -d jni -classpath ../../build/intermediates/classes/debug net.sourceforge.lame.Lame 头文件 net_sourceforge_lame_Lame.h 会放在app/src/main/jni目录下

android studio下gradle与Git错误解决方法

Error: Gradle: Execution failed for task ':mytask' > A problem occurred starting process 'command 'jni/ndk-build.cmd" 这是win7打开android程序出现的问题.解决方法:打开build.gradle,找到"commandLine"这行,把commandLine 'ndk-build', '-C', file('jni').absolutePath改为

android studio下gradle与Git出错解决方法

Error: Gradle: Execution failed for task ':mytask' > A problem occurred starting process 'command 'jni/ndk-build.cmd" 这是win7打开android程序出现的问题,解决方法:打开build.gradle,找到"commandLine"这行,把commandLine 'ndk-build', '-C', file('jni').absolutePath改为

Android Studio下jni应用

最近在将一个小应用从eclipse开发迁移到android studio,程序中有native代码实现,在eclipse是靠Android.mk这么个mk文件来组织编译的,但到android studio上就不行了,因其是靠gradle组织,所以makefile里的配置要转换为build.gradle里的语句(尽管实际上gradle也是组织一个mk文件),同时在迁移过程中遇到了一些问题,这里记录一下,以备后查. Android的JNI开发主要有两中情况:一种是使用已经编译好的.so动态库:一种是

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

Android Studio下Android应用开发集成百度语音合成使用方法样例

转载请注明来源: http://blog.csdn.net/kjunchen/article/details/51093134 Android Studio下Android应用开发集成百度语音合成使用方法样例 首先,语音合成是指将文本信息转换成声音.意思就是将文本转化为声音,让你的应用开口说话.国内在业内比较有名的第三方语音合成平台有百度语音和科大讯飞. 本博文集成的是百度语音合成,其主要特点是: 完全永久免费 业界首创完全永久免费新形式,为开发者提供最流畅最自然的语音合成服务.完全免费,永久使

Android Studio入门(安装-->开发调试)

写在前面的话:本文来源:http://blog.csdn.net/yanbober/article/details/45306483 目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发 下载安装 下载AS前先说下,AS安装包分为含SDK版本和不含SDK版本下载,如果你有SDK,那么完全可以下载不含SDK版本:不过下载了含SDK版本也没事,安装时选择自定义SDK也可以,安装后重新指定SD