在react-native
开发过程中引入别人的react-native-x库,环境上会有某种不通过。
着实很忧愁,下面就以我遇到的问题排下名词;
resolve ->1
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.1.0) from [com.android.support:exifinterface:26.1.0] AndroidManifest.xml:25:13-35
is also present at [com.android.support:appcompat-v7:26.0.2] AndroidManifest.xml:28:13-35 value=(26.0.2).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.
该问题出现原因是,AndroidManifest.xml
合并过程中,由于com.android.support:appcompat
版本不同导致无法成功合并;
solution:
一股脑的把所依赖的react-native-x库等影响因素全部搞一致,按照我的经验,也并不一定把所有的依赖库的都搞一致。但是更重要的是你要判断出上面报错针对的是哪一个依赖库的。注意:按照上面日志的版本要求做。因为在一些react-native
库中在实现功能上,要求的版本较高;
如下
compileSdkVersion 26
buildToolsVersion "26.0.2"
compile 'com.android.support:appcompat-v7:26.1.0'
resolve ->2
Error:Could not find common.jar (android.arch.core:common:1.0.0).
Searched in the following locations:
https://jcenter.bintray.com/android/arch/core/common/1.0.0/common-1.0.0.jar
该问题出现原因是, jcenter已经删掉了android.arch.core库,所以需要从 maven { url “https://maven.google.com” }中获取android.arch.core:common-1.1.0.jar
solution:
在project工程根目录下add代码指令maven { url "https://maven.google.com" }
如下:
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
//解决问题:Error:Failed to resolve: android.arch.core:common:1.1.0
maven { url "https://maven.google.com" }
jcenter()
maven { url 'https://jitpack.io' }
}
}