android 引入其他类库导致的各种坑

android 引入其他类库导致的各种坑,第1张

more than one file was found with os independent path androidsupportmultidexversion.txt

因为项目新引入的类库里面有androidx.multidex:multidex:2.0.0包和项目中 com.android.support:multidex:1.0.3冲突。

在网上翻来翻去,说是在manifest文件中application节点下添加

tools:replace="android:appComponentFactory"

android:appComponentFactory="any string"这两句

又有了新的错误,多处重复包体版本错误。说是在gradle.properties文件整天价这两句话

android.enableR8.libraries=false

android.enableR8=false

android.useAndroidX=true

android.enableJetifier=true

最后还是各种报错,提示androidx库与现有的冲突。

使用命令:gradlew :app:dependencies 查看哪些包冲突

其实这个是因为androidx与android support库不能兼容导致的问题。

最后的解决方案就是 https://www.jianshu.com/p/f7a7a8765294?tdsourcetag=s_pctim_aiomsg ,将项目构建成androidx库兼容。

把兼容的文件改完,以为一切搞定。结果,又报错Invoke customs are only supported starting with 0 --min api 26,这个就在app的build.gradle文件中android下面添加

android {

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

}

Android Studio导入第三方类库的方法:

第一、导入*.jar包

新建好了Android项目,添加一个第三方已经打包好的jar文件进你项目,下面就已添加一个odata4j的一个包

在项目中添加一个libs文件

直接通过COPY/PAST 把你下载的jar文件添加到libs文件夹下

然后在libs文件夹和添加的*.jar文件下鼠标单击菜单 add as library

然后在选择项目单击Open Module Settings,在Dependencies中选择添加文件

这样就完成了jar文件添加

打开App目录下有个build.gradle文件应该项目结构文件,上述的动作只是为了在在文件下添加

dependencies {

compile files('libs/android-support-v13.jar')

compile files('libs/odata4j-0.7.0-clientbundle.jar')

}

第二、导入第三方java类库含源代码包

下面演示如何在本项目中导入第三方的源代码类库,这里例子是导入Httpzoid一个json http client类库

先从github上下载zip包解压后把Httpzoid目录copy到你项目的目录下

添加后android studio的项目下会自动出现这个目录

接下来需要手工修改项目跟目录下settings.gadle 添加

include ':App',':Httpzoid'

这里必须手工修改没有其他方法

然后在打开App/build.gradle这个文件,添加

dependencies{

compile project(':Httpzoid')

}

这是你在打开Open Module Settings就可以看到,已经导入httpzoid的类库

但是编译肯定还是会错误的

还必须在项目Httpzoid目录下添加一个build.gradle的这个文件,内容如下

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath 'com.android.tools.build:gradle:0.6.+'

}

}

apply plugin: 'android-library'

repositories {

mavenCentral()

}

android {

compileSdkVersion 18

buildToolsVersion "17.0.0"

defaultConfig {

minSdkVersion 14

targetSdkVersion 18

}

sourceSets {

main {

manifest.srcFile 'AndroidManifest.xml'

java.srcDirs = ['src']

resources.srcDirs = ['src']

aidl.srcDirs = ['src']

renderscript.srcDirs = ['src']

}

}

}

dependencies {

compile 'com.android.support:appcompat-v7:+'

compile files('libs/gson-2.2.4.jar')

}

这是后编译还会有可能报错

这时候可能需要修改一下Httpzoid目录下的AndroidManifest.xml文件有可能存在和你项目中文件有冲突或版本跨度太大导致语法的错误修改一下,做完以上几步android studio就可以导入第三方类库。

Android Studio 添加第三方库的方法为:

1、开发过程中想要导入第三方类库和Eclipse也是有差别的,导入SlidingMenu这个类库,从github上下载下来解压到项目目录下。

2、然后重启android studio就会发现项目下面有了类库。

需要修改的是根目录的下的settings.gradle这个文件,一定要注意是根目录下的。在里面添加代码。

3、下来我要修改的是App目录下的build.gradle,这里要注意是App目录下的build.gradle,添加如下代码

dependencies {

compile project(’:SlidingMenu-master’)

}

这个也是导入类库的名字。这个时候打开File--- >Project Structure就可以看到导入的类库。到这里的话还没有完成,编译的时候还会报错。

4、还要在项目SlidingMenu-master目录下添加一个build.gradle的这个文件,内容如下

studio导入类库比较费力。

buildscript {

repositories {

mavenCentral()

}

dependencies {

classpath ’com.android.tools.build:gradle:0.6.+’

}

}

apply plugin: ’android-library’

repositories {

mavenCentral()

}

android {

compileSdkVersion 18

buildToolsVersion "17.0.0"

defaultConfig {

minSdkVersion 14

targetSdkVersion 18

}

sourceSets {

main {

manifest.srcFile ’AndroidManifest.xml’

java.srcDirs = [’src’]

resources.srcDirs = [’src’]

aidl.srcDirs = [’src’]

renderscript.srcDirs = [’src’]

}

}

}

dependencies {

compile ’com.android.support:appcompat-v7:+’

compile files(’libs/gson-2.2.4.jar’)

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11615802.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存