一个小白用 PhotoView 引起的学习记录
Posted llxbh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个小白用 PhotoView 引起的学习记录相关的知识,希望对你有一定的参考价值。
缘由(可跳过)
作为一个开发小白,有着各种各样想实现的功能,
最近想实现一个图片查看的功能(有放大,缩小等功能),发现了 PhotoView 这个开源框架,
用了它,腰不疼,腿不酸了 ...
添加依赖
as添加依赖的过程比较简单,就不上详细过程图片了
导入模块:
File -> New -> Import Module
添加依赖:
File -> 项目结构 -> 依赖
错误锦集
按顺序一个接着一个
1. ERROR: Plugin with id ‘com.github.dcendents.android-maven‘ not found.
原因:
不同的gradle版本需要不同marven-gradle-plugin版本
解决:
将版本修改为正确的版本即编译通过,修改根目录下的 build.gradle
dependencies {
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
}
2. ERROR: Cannot get property ‘sdkVersion‘ on extra properties extension as it does not exist.
原因:
引入的第三方库的 build.gradle 会根据我们项目 build.gradle 的 ext{} 中定义的数据进行配置。
gradle统一入口版本管理的初衷是为了解决一个项目只要一个地方修改,各个引用的模块就可以自动生效/修改,从而达到了一个地方修改各个地方生效的好处,同时能保持gradle引用库版本的一致。
解决:
在根的 build.grale 的 ext{} 处添加相应的信息,如果没有 ext 的话可以自己在结尾对应添加
3. add ‘tools:replace="android:appComponentFactory"
Manifest merger failed : Attribute [email protected] value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.
? 原因:
Androidx、Android support 库,两个不能和平共处?请各位大佬留言解答
据说原有的库太乱太难管理了,要开始用 Androidx
解决:
根据日志要求在 AndroidManifest.xml 添加
4. Error: Program type already present: androidx.versionedparcelable.NonParcelField
?原因:
Androidx和Android support库不能共存
解决:
参考了几个大佬写的文章
Androidx和Android support库共存问题解决
Error:Program type already present: androidx.versionedparcelable.NonParcelField
在 gradle.properties 添加
android.useAndroidX=true //为项目启用 Androidx
android.enableJetifier=true //#依赖包也迁移到 Androidx, 若没有第三方依赖,可以设置为 false
然后全部将 support库 转成 Androidx库 的(会提示将代码保存到 .zip ,大家记得保存一下),然后执行重构即可
是不是发现自己很多文件都不能用了,v7 的包都导入不了,删除原有的导入,会自己添加新的库的包
参考:
工具:
Android Studio(as)
框架
文章
Androidx和Android support库共存问题解决
Error:Program type already present: androidx.versionedparcelable.NonParcelField
以上是关于一个小白用 PhotoView 引起的学习记录的主要内容,如果未能解决你的问题,请参考以下文章