新手在使用机智云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();
|