最近迁移一个就旧项目到AS3.5.2上,自己是个小白,迁移成功,但同步出错,其中plugin: 'com.android.application'不存在,折腾了好久,还是从百度上查找,在build gradle加入以下代码搞定:
buildscript {
repositories {
jcenter()
maven { url 'http://repo1.maven.org/maven2' }
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
}
}
同步成功后,生成APK文件时,出现错误: 找不到符号 符号: 类 Fragment 位置: 程序包 android.support.v4.app 程序包 android.support.7不存在等很多符号不存在
后来看了迁移到androidx一篇文章后才知道, android.support.v4 v7写法变了,如:
Android以前写:import android.support.annotation.Nullable; androidx要写成:import androidx.annotation.Nullable; Android以前写:import android.support.v4.app.Fragment; androidx要写成:import androidx.fragment.app.Fragment;
把导入文件重改一下就可以了。具体新旧文件对照如下:
AndroidX的变化
1.常见依赖库映射
| 旧编译工件 | AndroidX 编译工件 |
|---|---|
| com.android.support.constraint:constraint-layout | androidx.constraintlayout:constraintlayout:1.1.2 |
| com.android.support:appcompat-v7 | androidx.appcompat:appcompat:1.0.0 |
| com.android.support:cardview-v7 | androidx.cardview:cardview:1.0.0 |
| com.android.support:coordinatorlayout | androidx.coordinatorlayout:coordinatorlayout:1.0.0 |
| com.android.support:design | com.google.android.material:material:1.0.0-rc01 |
| com.android.support:drawerlayout | androidx.drawerlayout:drawerlayout:1.0.0 |
| com.android.support:gridlayout-v7 | androidx.gridlayout:gridlayout:1.0.0 |
| com.android.support:media2 | androidx.media2:media2:1.0.0-alpha03 |
| com.android.support:multidex | androidx.multidex:multidex:2.0.0 |
| com.android.support:percent | androidx.percentlayout:percentlayout:1.0.0 |
| com.android.support:recyclerview-v7 | androidx.recyclerview:recyclerview:1.0.0 |
| com.android.support:support-annotations | androidx.annotation:annotation:1.0.0 |
| com.android.support:support-compat | androidx.core:core:1.0.0 |
| com.android.support:support-fragment | androidx.fragment:fragment:1.0.0 |
| com.android.support:support-v4 | androidx.legacy:legacy-support-v4:1.0.0 |
| com.android.support:viewpager | androidx.viewpager:viewpager:1.0.0 |
| com.android.support:swiperefreshlayout | androidx.swiperefreshlayout:swiperefreshlayout:1.0.0 |
更多详细依赖库变化,可查阅官方文档或下载这些映射的 CSV 格式文件。
本文分享了将旧项目迁移至AS3.5.2并解决同步错误的过程,详细介绍了如何处理plugin不存在的问题及解决找不到符号如Fragment的方案,通过调整Gradle配置和更新依赖库映射至AndroidX实现项目迁移。
1877

被折叠的 条评论
为什么被折叠?



