专栏首页小雨编程导入机智云Android开源项目的正确姿势

导入机智云Android开源项目的正确姿势

前言

在前面的Arduino连接机智云物联网平台的项目中,我们使用的是官方的APP来控制小灯亮灭。然而机智云平台支持项目自生成APP源码,因此只要我们将源码工程文件成功导入Android Studio,那么我们便可以自由定制我们的应用程序,那么如何正确导入到Android Studio中,编译成功并在真机上运行呢?

下载项目

在机智云官网,我们定义好数据点后,在服务->应用开发子菜单中,下载工程文件。

方法

由于本地环境与开源工程文件中不同,理论上我们把开源工程文件中的环境修改成和我们本地相同的就可以顺利导入了。

为了正确修改开源工程配置文件,我们可以新建一个本地工程文件夹,对照参考。

第一步:修改根目录下的build.gradle文件

将开源工程项目中的build.gradle与本地工程保持一致。

第二步:修改gradle/wrapper文件夹里gradle-wrapper.properties配置文件

将distributionUrl中的gradle版本保持与本地项目一致;

第三步:我们再修改app目录下的build.gradle文件

这时候开源项目与我们的本地项目区别就有点大了,我们只需择其重点进行修改

将机智云版本的compileSdkVersion,buildToolsVersion,minSdkVersion,targetSdkVersion与本地保持一致;这里由于自2018年底开始Android已经抛弃了compile,所以这里我们需要将compile换成implementation,同时将com.android.support:designcom.android.support:appcompat换成与本地版本相一致的28.0.0版本

下面是修改之后的版本:

第四步:导入项目再配置

打开AndroidStudio修改 基本的配置参数已经修改的差不多了,这时我们导入项目试一试,打开Android Studio欢迎界面,点击Open an existing Android Studio project;

在工程界面工具栏,点击编译按钮,这时候可能还会报一些小错误,比如:

它表示最小开发版本不需要在清单文件中解释,我们只需点击蓝色下划线,跳转到如下界面。

点击方框内容,打开清单文件

删除改行,再Try Again重新同步一下gradle工程。

第五步:修改部分过时的函数

点击小锤子重新编译一下工程,此时仍会报如下错误:

这里报错(找不到符号变量MAXRIX_SAVE_FLAG) 这是因为我们的sdk版本较高,新的sdk已经对之前老版本里的方法进行了修改,调用canvas.save(Canvas.CLIP_SAVE_FLAG);方法编译器报错,我们只需要save()方法里的参数删除即可,直接调用canvas.save()方法就编译通过了。

此时,我们的APP已经可以运行了!

最后

这篇教程是以使用机智云源码为例,如何正确的编译项目。其实对于大多数网上的Android开源项目都可以用这种方法来导入。

本文分享自微信公众号 - 小雨编程(xiaoxiaoyu1926),作者:小雨tt

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Arduino使用ESP8266连接机智云物联网平台

    本文实现Arduino UNO R3通过ESP8266-01模块连接机智云平台,从而实现用手机APP远程点亮LED灯。

    小雨编程
  • Python字符串

    (2)取字符串中的字符,如果从前往后取,第一个字符下标为0,逐一加一;如果从后往前取,最后一个下标是-1,往前逐一减一;

    小雨编程
  • Python文件的读写

    说明:由于Windows和macOS文件目录系统的格式不同,在没有介绍到系统通配分隔符前,代码中的文件目录格式主要匹配macOS系统文件目录结构,下面是Pyth...

    小雨编程
  • 初识数据库

    将数据看做一个二维表格,数据可以通过行号+列号唯一确定,其数据结构类似 Excel 表;

    村雨遥
  • gateway调用后台系统时选择RFC的决定逻辑

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • gateway调用后台系统时选择RFC的决定逻辑

    问题从而转化为该proxy class的mv_system_alias何时被赋值:

    Jerry Wang
  • Frontiers: 森林土壤真菌群落的海拔分布格局及其生态装配过程

    Link: https://www.frontiersin.org/articles/10.3389/fmicb.2019.02226/full

    生物信息知识分享
  • strerror线程安全分析

    答案是NO,但它有个线程安全的版本:strerror_r。借助Linux的man,即可看到详情:

    一见
  • PostgreSQL扫盲教程

    安装时,请记住您给user postgres设置的初始密码,以及默认端口号5432,后面需要使用。

    Jerry Wang
  • 黑苹果小太阳问题(亮度调节)--上篇

    有很长的时间都没有更新了,也有不少朋友再催促更新文章!但是我学习的知识面太广,有时候根本不知道写什么。如果大家想了解什么,欢迎私信或者留言!

    BessCroft

扫码关注云+社区

领取腾讯云代金券