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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机友分享 导入机智云Android开源项目的正确姿势相关的知识,希望对你有一定的参考价值。

参考技术A

以下文章来源于小雨编程 ,作者小雨tt


“使用机智云AIoT平台支持项目自生成APP源码,即可轻松解决android开源项目啦,”开发者下载源码后,只需要优化UI和设计设备控制界面控制逻辑,源码的控制页面编写了机智云SDK控制设备的标准流程,APP源码二次开发过程中只需按照该流程进行相关代码的优化即可快速完成针对自身产品的智能控制APP。


因此只要我们将源码工程文件成功导入Android Studio,那么我们便可以自由定制我们的应用程序,那么如何正确导入到Android Studio中,编译成功并在真机上运行呢?


01下载项目

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

机智云APP代码自动生成服务介绍:http://docs.gizwits.com/zh-cn/UserManual/devApp.html

02方法

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


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

第一步

修改根目录下的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:design , com.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已经可以运行啦!

end..

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

错过了#秋天的第一杯奶茶,那我们一起来敲代码吧

今日份推荐,安排加购鸭..

中移Cat.1 4G DTU模组ML302-GC211支持OTA免开发快速接入机智云

开源百度云分享爬虫项目yunshare最新分享 - 安装篇

今天开源了一个百度云网盘爬虫项目,地址是https://github.com/callmelanmao/yunshare

百度云分享爬虫项目

github上有好几个这样的开源项目,但是都只提供了爬虫部分,这个项目在爬虫的基础上还增加了保存数据,建立elasticsearch索引的模块,可以用在实际生产环境中,不过web模块还是需要自己开发

安装

安装node.js和pm2,node用来运行爬虫程序和索引程序,pm2用来管理node任务

安装mysql和mongodb,mysql用来保存爬虫数据,mongodb用来保存最终的百度云分享数据,这些数据是json格式的,用mongodb保存更方便。

git clone https://github.com/callmelanmao/yunshare
cnpm i

推荐使用cnpm命令安装npm依赖,最简单的安装方式

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

更多安装cnpm的命令可以去npm.taobao.org上面找。

初始化

爬虫数据(主要是url列表)都是保存在mysql数据库的,yunshare使用sequelizejs做orm映射,源文件在src/models/index.js,默认的mysql用户名和密码都是root,数据看是yun,你需要手动创建yun数据库

create database yun default charset utf8

密码根据自己需要进行修改,完成mysql配置之后就可以运行下面的命令

gulp babel
node dist/init.js

注意必须先运行gulp babel把es6代码编译成es5,然后运行初始化脚本导入初始数据,数据文件在data/hot.json,里面,是从页面 http://yun.baidu.com/pcloud/friend/gethotuserlist?type=1&from=feed&start=0&limit=24&bdstoken=ac95ef31d3979f6ee707ef75cee9f5c5&clienttype=0&web=1 保存下来的。

启动项目

yunshare使用pm2进行nodejs进程管理,运行pm2 start process.json启动所有的后台任务,检查任务是否正常运行可以用命令pm2 list,正常运行的应该有4个任务。

启动elasticsearch索引

elasticsearch索引程序也已经写好了,mapping文件在data/mapping.json,请确保你已经安装elasticsearch 5.0的版本之后才运行索引程序,命令pm2 start dist/elastic.js

默认的elasticsearch地址是http://localhost:9200,如果你需要修改这个地址,可以在src/ElasticWorker.js里面修改,修改任何js源码之后记得运行gulp babel,在重启pm2任务,不然修改是不会生效的。

在完成elasticsearch配置之后,你也可以在process.json里面添加一项elastic任务,这样就不需要单独启动索引程序了。

DEMO

哔哩搜索

下一篇接着介绍整个项目的整体设计思路和开发过程中遇到的问题。

updated at 2020-02-07.

以上是关于机友分享 导入机智云Android开源项目的正确姿势的主要内容,如果未能解决你的问题,请参考以下文章

史无前例,详细视频讲解开发Android端APP开发!!

安卓开发工程师应该这样快速使用机智云APP开源框架

ESP8266 NodeMcu机智云SOC方案开发经验分享

机智云WebSocket实现物联网游戏

机智云WebSocket实现物联网游戏

机智云在Amazon Alexa平台发布Smarthome和Custom Skill