Android Studio安装与环境搭建

  • 1. 前言
    • 1.1 什么是JNI
    • 1.2 JNI从零开发流程
  • 2. Java环境配置
  • 3. Android Studio安装
  • 参考链接

1. 前言

工作中需要将C/C++的代码做一层封装,以供前端APP调用,所以需要使用JNI来进行代码的封装和测试。本专栏主要讲述了JNI开发的基础流程,包括环境搭建,基础工程框架的实现,JNI常用语法,C/C++ so库的生成,aar库的生成以及如何进行样例测试等。本专栏的主要目的就是给没有JNI开发经验的算法工程师一个参考,即使没有任何JNI应用经验和Java语言基础,也能够快速掌握理解C/C++封装技巧。

1.1 什么是JNI

JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植,它允许Java代码和其他语言写的代码进行交互。JNI主要是为C和C++而设计的。

1.2 JNI从零开发流程

JNI的开发基本需要四步,分别是开发环境的搭建–>JNI基础框架搭建–>so库的生成–>aar库的生成,如下图所示。基于需求的不同,有的App前端只需要so库即可,但是大多数的App前端需要进一步封装的arr库。

整个开发流程中“坑”最多的是第一步,也就是开发环境的搭建。即使是相同的步骤和软件版本,不同人的电脑安装也会出不同的问题,本专栏尽可能的告知安装软件的具体版本以减少出错的概率。开发最容易出错的是第二部,JNI基础框架的搭建,主要包括Cmake文件的编译和native-lib.cpp的编写,只要理解其中的逻辑,细心一点bug就不会出现。so库的编译就比较简单,按照步骤操作就可以,arr库是在so库的基础上进一步封装,可以直接被App调用,直接按照步骤操作就可以。

2. Java环境配置

安装Android Studio之前需要确保我们的电脑上已经配置了JDK,确认方法如下:
win+R键输入cmd调出控制台,分别键入:

java -version
java
javac

如果出现以下内容,说明电脑上已经正确配置了JDK,可以跳到第3节安装Android Studio.



如果输入以上指令没有显示这些结果,说明电脑上没有安装JDK或者没有配置好,需要按照以下步骤来:

首先需要去官网下载JDK,下载之后直接安装即可,强烈建议使用默认安装路径(因为怕出幺蛾子),一路next即可,默认安装的话应该在文件夹:C:\Program Files\Java\jdk1.8.0_152

下一步就是配置系统环境变量, 这一步要细心一点,不然很容易出错。配置环境变量的步骤如下:

  • 在“系统变量”新建一个变量名为JAVA_HOME的变量,变量值为你本地JDK的安装目录 C:\Program Files\Java\jdk1.8.0_152

  • 同样的再新建一个Path变量,Path大小写随意,变量的值为 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 当然如果你本地已经有Path了那么直接 ;拼接在后面。注意后面的分号;

  • 最后一步新建一个CLASSPATH变量同理如果已经存在就直接拼接后面就好,多个值是有 ; 区分的(英文输入法),这里设置CLASSPATH的值是 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 搞定。注意前面的.;
    环境变量配置完成之后重启命令终端后重新输入以下三个命令进行验证,

java -version
java
javac

如果没有问题了就可以直接安装Android Studio了。

3. Android Studio安装

Android Studio每个版本的差距比较大, 老的版本不支持native c++工程,建议大家安装比较新的版本,我安装的版本为4.1.2,具体信息如下图所示:

为避免以后因版本不同出现问题,建议安装4.1.2版本,可以参考Android Studio 4.1.2安装及环境搭建这篇文章来安装,写的非常详细。

参考链接

  1. https://baike.baidu.com/item/JNI/9412164?fr=aladdin
  2. https://blog.csdn.net/bruse_android/article/details/83621300
  3. https://blog.csdn.net/interestedly/article/details/113415961

JNI开发笔记(一)--Android Studio安装与环境搭建相关推荐

  1. [安卓开发笔记二]android Studio通过jni调用C++代码

    [安卓开发笔记二]android Studio通过jni调用C++代码 16/12/11 更新 此博客基于安卓android studio 1.5所写,现在已经有了android studio2.2的 ...

  2. android平台 arcgisr_《ArcGIS Runtime SDK for Android开发笔记》——Android Studio基本配置与使用...

    1.前言 在上一篇文章<Android Studio下载与安装>里我们已经介绍了Android Studio的下载与安装步骤,这一篇我们将针对Android Studio的基本常见使用做一 ...

  3. Android Studio安装及环境配置教程

    前言: 首先需要确定好电脑是否有安装java环境,即是否安装有JDK, 验证方法:直接电脑桌面win+R 输入cmd,然后在黑窗口中分别输入java .javac .javadoc.java -ver ...

  4. Android Studio 安装、环境配置全家桶

    Android Studio 常用插件(兼容idea) Android Studio 通过wifi无线连接手机调试(可多台) Android Studio Gradle各个版本集合 Android S ...

  5. Android Studio下gradle环境搭建

    在w3c页面上有较为权威的gradle安装教程:上面说1.5 或更高版本的 JDK.Gradle 自带了 Groovy 库.但在执行gradle时候出现 -bash: gradle: command ...

  6. 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建

          作者今天开始正式开始学习Cocos2d-X引擎进行游戏编程,预计两天会更新一期,最后实现ios游戏的appsore上线. (部分内容转载自:http://blog.csdn.net/yan ...

  7. android切环境插件,Android Studio下Flutter环境搭建图文教程

    一.Flutter介绍 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter可以与现有的代码一起工作.在全世界,Flutter正在被越来越多的 ...

  8. 云炬Android开发笔记 2-2 Android studio项目上传到Github及无法连接Github的问题处理

    本文将介绍如何将AS上的项目发布到GitHub上: 选择 VCS--enable verSion control integrate : 选择GIT: 此时可以发现左侧的类都变红了: 此处的颜色含义: ...

  9. JNI开发笔记(八)--Java读取txt文件进行JNI测试

    Java读取txt文件进行JNI测试 引 前言 1. 新建assets文件夹 2. 载入测试文件 3. 建立文件读取方法 4. 在MainActivity中读取文件数据 引 JNI开发笔记(一)–An ...

最新文章

  1. 数据蒋堂 | 最简单的大数据性能估算方法
  2. android one gm 5,Android One计划诞生,GM 5 Plus发布
  3. CascadePSP 测试笔记
  4. spring中@Value的注解解析
  5. 反汇编基础、OllyDbg简介和界面、基本操作、初级TraceMe练习
  6. Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!(转载学习)
  7. 乒乓球(洛谷-P1042)
  8. excel相乘再相加_简单的工作花几小时,学会几个Excel技巧,几秒钟解决
  9. bzoj 4570: [Scoi2016]妖怪 凸包
  10. ThinkPHP在IIS下配置ISAPI伪静态去掉index.php
  11. 【BZOJ】1001: [BeiJing2006]狼抓兔子 Dinic算法求解平面图对偶图-最小割
  12. linux chmod命令
  13. IEC63174电动牙刷性能检测仪器分享
  14. xdb 服务_oracle禁用XDB服务
  15. (ECPC 16) (6/11)
  16. 英语体系----词根词缀等----持续补充(词根词缀等,词汇,语法,简单句,长难句,写作)
  17. 2022年西式面点师(初级)考试题库及模拟考试
  18. ABAP的PO接口调用
  19. D16:Exchange Rates(汇率,翻译)
  20. 【小程序开发之文章详情页面的设计】文章详情页面如何布局

热门文章

  1. 用html5点击消失,input点击后placeholder中的提示消息消失
  2. UPSNet论文笔记
  3. linux 目录sbit,linux中SUID,SGID与SBIT的奇妙用途详解
  4. function函数嵌套 matlab_matlab – 当没有使用“end”时,一个.m文件中的多个函数是嵌套的还是本地的...
  5. hbase 查询_云HBase发布全文索引服务,轻松应对复杂查询
  6. ES6-使用let关键字定义变量
  7. JS-面向对象-函数的使用场景---作为其他变量的值 / 作为对象的属性值 / 作为其他函数的参数 / 作为其他函数的返回值 / 作为构造函数(定义对象)
  8. 小汤学编程之jQuery学习day01——简介、入门、选择器
  9. 总奖金高达180万元 蚂蚁金服启动区块链创新大赛
  10. [转载]MongoDB的$inc修改器