收藏官网首页
查看: 16254|回复: 2

[资料分享] 机友分享 | 导入机智云Android开源项目的正确姿势

605

主题

651

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
32990
 楼主| 发表于 2020-9-28 10:56:15 | 显示全部楼层 |阅读模式
教您5分钟接入机智云,实现傻瓜式开发
以下文章来源于小雨编程 ,作者小雨tt

“使用机智云AIoT平台支持项目自生成APP源码,即可轻松解决Android开源项目啦,”开发者下载源码后,只需要优化UI和设计设备控制界面控制逻辑,源码的控制页面编写了机智云SDK控制设备的标准流程,APP源码二次开发过程中只需按照该流程进行相关代码的优化即可快速完成针对自身产品的智能控制APP。
因此只要我们将源码工程文件成功导入Android Studio,那么我们便可以自由定制我们的应用程序,那么如何正确导入到Android Studio中,编译成功并在真机上运行呢?

1项目下载
在机智云官网,我们定义好数据点后,在服务->应用开发子菜单中,下载工程文件。
机智云APP代码自动生成服务介绍:http://docs.gizwits.com/zh-cn/UserManual/devApp.html
1.jpg


2方法

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

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

2.png
第一步
修改根目录下的build.gradle文件
3.png
将开源工程项目中的build.gradle与本地工程保持一致。

第二步
修改gradle/wrapper文件夹里gradle-wrapper.properties配置文件
4.png
将distributionUrl中的gradle版本保持与本地项目一致;
5.png

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

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

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

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

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

它表示最小开发版本不需要在清单文件中解释,我们只需点击蓝色下划线,跳转到如下界面。
微信图片_20200928105528.png
点击方框内容,打开清单文件
10.png
删除改行,再Try Again重新同步一下gradle工程。

第五步
修改部分过时的函数
点击小锤子重新编译一下工程,此时仍会报如下错误:
11.png
这里报错(找不到符号变量MAXRIX_SAVE_FLAG) 这是因为我们的sdk版本较高,新的sdk已经对之前老版本里的方法进行了修改,调用canvas.save(Canvas.CLIP_SAVE_FLAG);方法编译器报错,我们只需要save()方法里的参数删除即可,直接调用canvas.save()方法就编译通过了。
此时,我们的APP已经可以运行啦!
12.png
  end..
这篇教程是以使用机智云AIoT平台的源码为例,如何正确的编译项目。其实对于大多数网上的Android开源项目都可以用这种方法来导入。
  错过了#秋天的第一杯奶茶,那我们一起来敲代码吧
  今日份推荐,安排加购鸭..
中移Cat.1 4G DTU模组ML302-GC211支持OTA免开发快速接入机智云
13.jpg

₳LAqWcULmxxL₳复制淘口令打开淘宝(记得把两个₳符号也复制上喔)

17

主题

100

帖子

1378

积分

金牌会员

Rank: 6Rank: 6

积分
1378
发表于 2020-12-4 11:57:34 | 显示全部楼层
真的是做的很细致!!!
补充一点:如果有出现“Could not find any version that matches com.android.support:appcompat-v7:28.+”,那时因为你用了新版的androidX,可以解决的方法:
选择你的项目然后点击上方的Refactor->Migrate to androidX,然后AS会有一个警告提示,大概意思就是重构这个项目有风险,让你把你的项目以一个zip的压缩包做一个备份,然后会让你选择压缩包的存储位置,建议存一下,不然万一这个方法不行那就很难受了。备份之后AS会在下面弹出一个状态栏显示会发生什么更改,左下角有一个Do 什么的按钮,点击之后AS就会把你的项目进行重构。

605

主题

651

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
32990
 楼主| 发表于 2020-12-8 15:55:42 | 显示全部楼层
AIcainiao 发表于 2020-12-4 11:57
真的是做的很细致!!!
补充一点:如果有出现“Could not find any version that matches com.android.sup ...

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表