【技巧】将机智云官方APP源代码无误导入AndroidStudio-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1714|回复: 0

【技巧】将机智云官方APP源代码无误导入AndroidStudio

[复制链接]
发表于 2021-7-7 17:50 | 显示全部楼层 |阅读模式
新手在使用机智云APP代码自动生成服务后,将自动生成的代码倒入AS容易出现报错,容易误以为自己操作失误,其实一般都是版本的问题,这个很好解决。让我们来试试吧。


一,下载源码


机智云进入开发者中心,点击对应的产品➡服务➡应用开发这里即可下载机智云APP的源码。
下载完成后可直接将此文件夹单独移出,作为整个工程的文件夹。




二,导入工程

1、打开project
File➡new➡Import project
2、导入后Sync必定报错,别慌!




因为机智云下载而来的程序大概率API版本、gradle版本和gradle插件版本跟我们下载Android Studio自带的不一样,可以重新下载但这很慢很慢,可以直接改!
新建一个可在该电脑改AndroidStudio运行无误的project,称为demo。

三,修改程序

1、build gradle(Project:xxx)文件里
(1)修改gradle plugin插件版本
在机智云project的相同位置中把gradle插件版本修改为这个版本即可


(2)加两处Google()
分别在buildscript函数和allprojects函数中加入google()语句

buildscript {
   repositories {
       jcenter()
       google()
    }
allprojects {
   repositories {
       jcenter()
       google()
    }
}
2、buildgradle(Module:xxx)文件里

改为3.0版本以上的语句

gradle插件3.0版本及以上的implementation代替了 compile ,testImplementation 代替了testCompile,androidTestImplementation 代替androidTestCompile 。因此要做如下修改,

compile fileTree(dir: 'libs', include:['*.jar'])
testCompile 'junit:junit:4.12'
                 
implementation fileTree(dir: 'libs',include: ['*.jar'])
testImplementation 'junit:junit:4.12'


3、gradle-wrapper.properties(GradleVision)文件里
修改gradle版本,即在机智云project的相同位置中把gradle版本修改为Demo里的这个版本即可


4、mainfest.xml文件里
将左上角的Android切换为Project,按途径app➡src➡main➡AndroidMainfest.mxl打开改文件并去掉里面的最小版本定义



<uses-sdkandroid:minSdkVersion="15" android:targetSdkVersion="25"/>
                      (注释)
<!--   <uses-sdk android:minSdkVersion="15"android:targetSdkVersion="25" />-->
改到这里,先编译一下

然后,报错了

Error:The specifiedAndroid SDK Build Tools version (25.0.0) is ignored, as it is below the minimumsupported version (28.0.3) for Android Gradle Plugin 3.5.2.

也就是说Gradle Plugin 插件版本3.5.2最低只支持SDK28,而这个程序里的版本是SDK25的。因此我们需要下载一个高于等于SDK28的编译工具。
(1)菜单栏➡Tool➡SDK Manager➡
勾选要下载的版本然后Apply,弹出的页面选择OK即可下载。下载完毕后,菜单栏➡File➡Project Structure➡Modules➡Properties里的Compile Sdk Version和Build Tools Version里选择对应的版本。
(2)build gradle(Module:xxx)文件里将TargetVersion改为相应的版本。
再编译
还报错

错误: 找不到符号
符号: 变量 MATRIX_SAVE_FLAG
位置: 类 Canvas

因为变量 MATRIX_SAVE_FLAG已在API 28中被删除,因此要进行替换。双击错误便能到达错误所在地
再编译


canvas.save(Canvas.MATRIX_SAVE_FLAG);          ⬇  ⬇    canvas.save();







6.png (22.23 KB, 下载次数: 0)

[url=][/url]


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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:27 , Processed in 0.073273 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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