由于很久没有接触过Android开发,而且最早用的是eclipse,所以这个demo在android studio上的搭建过程,真的是踩了不少坑。记录这篇文章,纯粹是给自己一点收获。

环境搭建的过程,还是需要一点Android Studio的使用基础的,包括gradle同步、ndk、sdk之类的,另外由于需要在线下载资源,所以准备一个网络畅通的VPN。

一、基础环境

Windows 10系统、Android studio 3.1.2、tensorflow1.10.0、gradle版本为4.4

sdk和ndk的版本如下:

Android SDK Build-Tools

二、需要修改的文件:

(1)Demo项目下的build.gradle文件

进行如下修改:

(2)Demo/app文件下的build.gradle文件

android{ ... }中需要修改的部分:

repositories{ ... }和dependencies{}需要修改的部分,如下图,主要是用于 a) 解决tensorflow-lite:0.0.0-nightly无法下载的情况 b) 依赖项与sdk版本保持一致的问题 c) gradle3.0.0版本以上的依赖默认为implementation,而不是之前的gradle2+版本的compile

(1)手动下载tensorflow-lite:0.0.0-nightly.aar。

(2)拷贝tensorflow-lite:0.0.0-nightly.aar文件到app/libs目录下(如果不存在libs目录,则自己手动添加一个);

(3)在app下的bulid.gradle中repositories添加:

flatDir{dirs " libs"}代码,

dependencies中添加:

compile fileTree(dir: 'libs', include: ['*.jar']):

compile(name:' tensorflow-lite:0.0.0-nightly', ext:'aar')

       dependencies中注释掉:compile compile 'org.tensorflow:tensorflow-lite:0.0.0-nightly'

三、同步gradle文件:

点击同步gradle的按钮,如果没有报错,则android studio “Run” app是可以执行的,否则该按钮是灰色的,不能执行。

四、源码分析

整个demo包含6个java文件:

其中:

-AutoFitTextureView:一个自定义的View;

-CameraActivity: 整个app的入口activity,这个activity只做了一件事,就是加载了一个fragment;

- Camera2BasicFragment: 入口activity中加载的fragment,其中实现了所有跟UI相关的代码;首先在onActivityCreated中,初始化了一个ImageClassifier对象,此类是整个demo的核心,用于加载模型并实现推理运算功能。然后开启了一个后台线程,在线程中反复地对从摄像头获取的图像进行分类操作。

-ImageClassifier:是一个抽象类,demo最重要的部分,但只有两个函数比较重要,一个是构造函数

-ImageClassifierFloatInception为浮点型子类,基类为ImageClassifier,对应的浮点模型为assets资源下的7_float.tflite

-ImageClaaifierQuantizedMobileNet为量化型子类,基类为ImageClassifier,对应的数字量化模型为assets资源下的7.tflite

 
 

tensorflow lite的demo在android studio上环境搭建的更多相关文章

  1. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

  2. windows平台下Android studio开发环境搭建教程

    最近,Google 已宣布,为了简化 Android 的开发力度,以重点建设 Android Studio 工具,到今年年底将停止支持Eclipse等其他集成开发环境 .而随着Android stud ...

  3. 【Android Studio安装部署系列】二、Android Studio开发环境搭建

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio开发环境安装步骤 下载Android Studio 下载地址: http://www.wanandroi ...

  4. 【Android学习笔记】Mac下Android Studio开发环境搭建

    本文由@ray 出品,转载请注明出处.  文章链接:http://www.cnblogs.com/wolfray/p/7829069.html 对于移动端这块,笔者之前一直都是进行iOS开发的,也从来 ...

  5. Android开发学习之路--MAC下Android Studio开发环境搭建

    自从毕业开始到现在还没有系统地学习android应用的开发,之前一直都是做些底层的驱动,以及linux上的c开发.虽然写过几个简单的app,也对android4.0.3的源代码做过部分的分析,也算入门 ...

  6. Android Studio开发环境搭建和HelloWorld

    跟着教程做的,已经有了JDK,直接进行后面的步骤,下载安装Android SDK 没有FQ,教程里的网址打不开,就换了个.网址 http://tools.android-studio.org/inde ...

  7. Android Studio 之 环境搭建

    从网上整理的安装步骤及初次使用问题解决. 一.安装步骤 1.安装前确认JDK已经安装并配置好环境变量(要求JDK1.7以上的版本). 2.官网下载Windows安装包,网上下载的版本是android- ...

  8. ubuntu 16.04 android studio 开发环境搭建

    安装步骤: 1. 安装 Java developer kit 2.安装 Android developer kit 3.安装 Android studio 4.真机调试 第一次用Linux,命令基本不 ...

  9. Android Studio Jni 环境搭建

    第一步:NDK环境搭建,点击下图红色框区域查看NDK下载和环境配置 安照正常情况是很慢的或者无法下载成功的,这个时候可以去下载NDK压缩包进行解压.下面给出两个下载地址 (1)官网:http://we ...

随机推荐

  1. RSA加解密算法以及密钥格式

    RSA算法: 有个文章关于RSA原理讲的不错: https://blog.csdn.net/dbs1215/article/details/48953589 http://www.ruanyifeng ...

  2. OO第二单元优化博客

    OO第二单元优化博客 第五次作业没有性能分,但是,我在这一单元的宗旨就是写一个日常生活中 最常见的那种电梯,所以第五次我没有写傻瓜电梯,而是直接写了个\(look\),和第六次基本相同. 总计一下lo ...

  3. [算法] 举一反三之n重复数组中找唯一m重复异类数

    n重复数组,是指数组中的数字都出现n次: 唯一m重复异类数,是指存在唯一一个没出现n次,只出现了m次的数: 这里我简记它为nX+my问题,求解y,其中m < n,数组中都是整数: 3X+y问题 ...

  4. 刷Python核心编程第三版的习题时遇到一个findall的坑

    在用正则表达式做以下查找时,发现re.findall()对于正则表达式有没有圆括号是有区分的,具体如下 line = 'Tue Sep 18 12:48:21 2029::ilziuv@zcntzir ...

  5. Mac休眠后解决卡死转圈问题

    不知什么时候MacBookPro出现盒盖休眠后Wifi连不上,卡死,转圈问题 在网上搜索解决了下,具体什么原因先不用管了,有时间升级下系统 sudo killall airportd 应该是Mojav ...

  6. 3、SpringBoot集成Storm WorldCount

    RandomSentenceSpout //数据源,在已知的英文句子中,随机发送一条句子出去. public class RandomSentenceSpout extends BaseRichSpo ...

  7. freeswitch 事件命令

    1.uuid_bridge 桥接两条呼叫的腿. Usage: uuid_bridge <uuid> <other_uuid> uuid_bridge至少需要有一条腿是被呼通的. ...

  8. Bootstrap各种进度条的实例讲解

    本章将讲解 Bootstrap 进度条.在本教程中,您将看到如何使用bootstrap教程.重定向或动作状态的进度条. Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果.Interne ...

  9. 迁移python project

    1.从python官网下载同版本的安装版的python,在新机器上安装同样版本的python(python底层是用C语言写的,安装python会安装c  c++用到的库) 2.拷贝united1整个文 ...

  10. Spark机器学习基础三

    监督学习 0.线性回归(加L1.L2正则化) from __future__ import print_function from pyspark.ml.regression import Linea ...