⑴ android引入多个jar包,冲突问题解决方案
Android引入多个jar包,冲突问题解决方案(引入jar包,即本地文件) 以引用加载第三方框架中也有okhttp3 okio冲突讲解
(PS:如果不知道是那个jar冲突可以用指令gradlew app:dependencies查看)
1.找到项目中的libs->对应冲突的第三方包.jar。
3.用解压工具打开(不是解压,是打开。比如windows下可用360解压打开)。
4.删掉重复引用的包(okhttp3 + okio)。
5.重新打开项目,等待编译。
6.可能出现innerClass mission警告,可以忽略掉,或者clean build。
7.如果还报错的话那么在app build.gradle加入:
packagingOptions {
exclude 'META-INF/proguard/okhttp3.pro'
}
温馨提示:
如果你的项目是因为刚刚添加了某个网络加载依赖导致的,那么你就查看下这个库下的哪一个依赖冲突了,在添加这个依赖的时候把它给过滤掉。具体写法如下。
implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架
exclude mole: 'okhttp:3.10.0'
}
//或者要把组名一起添上去
implementation ('com.***.***:XXX:1.2.0'){ // 所加的第三方框架
exclude group: 'com.squareup.okhttp3'
}
⑵ android studio 怎么删除jar包
Android studio 删除jar只需要在对应的jar包右击然后选择删除即可,步骤如下:
1、使用Android studio打开一个已经导入过包的Android项目,如下图:
⑶ android studio怎么添加jar包
1、新建Android项目,添加一个第三方已经打包好的jar文件进项目,下面就已添加一个odata4j的一个包
6、这样就完成了jar文件添加
⑷ 怎样在android studio中打jar包
方法/步骤
1,点击启动AndroidStudio,启动后的界面如图所示。
2,复制你需要添加的jar,并将其黏贴到app— —src— —main— —libs文件夹下,可运行的AndroidStudio项目都有像这样的目录结构。可以看到虽然jar已经复制黏贴过来了,但是还未导入,所以看不到jar中包含的内容。而已导入的jar,则可以看到jar中内容。
3,右键点击新黏贴的jar,在弹出菜单中点击Add As Library.
4,选择你要导入到的那个mole(在AndroidStudio中相当于Eclipse中的project),如果当前只是一个项目,下拉框中除了app也没有其他的内容,那么直接点击ok确认。
5,这样jar就被添加到项目中来了。
注意事项
AndroidStudio中导入jar与Eclipse中不一样,而且更简单。
⑸ android studio aar怎么用
一. 简介
aar是一个类似于jar的文件格式。但是他们之间是有区别的。
jar:仅仅包含class和清单文件,没有资源文件。
aar:包含了class文件和资源文件。说白了就是Android的专属“jar”
将代码打包成aar文件,可以在一定程度上加快AndroidStudio的速度。
尤其是将Mole打包成aar文件,提升的效果很显着。
二. 如何得到aar
1. Mole的aar文件
将一个AndroidStudio项目中的Mole打包成aar其实很简单。
在每一个Mole的目录下面都会有这样一个文件夹:build\outputs\aar。
这个文件夹下面就放着这个Mole对应的aar文件。
一般情况下会有两个aar文件,一个debug版本,一个release版本。
我们选择release的就ok。
注意:
新建的Mole是没有这个文件夹的。这时,你可以使用 两种方法 生成这个文件夹
将整个项目运行一遍,这个文件夹会自动生成
执行命令 ./gradlew assembleRelease 也可以生成这个文件夹
Mole中的libs目录文件会随着项目的编译被打包进aar文件中,但是build.gradle中的引用库不会打包进aar文件中,这个需要 特别留意。如果你忽略了这个Mole的build.gradle中的引用库,很可能引发ClassNotFoundException异常。
2. 远程仓库的aar
在项目里面经常会引用一下远程仓库的依赖库。
这时,我们也可以将它以aar的形式引入到项目中。
这个依赖库的aar其实也很好找。
当你配置好一个依赖库以后,点击 Sync Now 。
AndroidStudio会自动下载这个库到C盘(windows)。你找到这个文件就可以了。
这里我使用的是Everything进行搜索,很方便就找到这个库的下载文件夹。其他操作系统就自行搜索吧,总之找见这个项目的下载文件夹就ok。
这个下载文件夹中包含了这个项目所需要的所有东西:包括aar、jar等文件。
后面会以一个例子详细讲解这个过程
注:
Everything是一个搜索软件,可以瞬间搜索全盘。
是一个非常实用的软件。但是很可惜只有windows版本。
官网地址:<a href="<a href="https://www.voidtools.com/" target="_blank">https://www.voidtools.com/</a>" target="_blank"><a href="https://www.voidtools.com/" target="_blank">https://www.voidtools.com/</a></a>
三. 如何使用aar
想要使用aar文件,需要经过以下几步:
1. 在app的build.gradle中加入以下配置
repositories {
flatDir {
dirs 'libs' // aar目录
}
}
2. 将aar文件拷贝到app/libs目录下
3. 在dependencies中加入aar引用
compile(name: 'zbar-release', ext: 'aar')
四. LeakCanary项目示例
因为Mole的例子比较简单,所以选择远程代码库作为示例。
这里使用一个经常使用的内存检测项目LeakCanary来做一个示例。
我们通常使用依赖来使用这个库:
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
当Sync Now完成后,我们可以在C盘(windows)找见这个项目文件夹。
这个文件夹下面就有我们需要的两个依赖库:leakcanary-android和leakcanary-android-no-op
点开leakcanary-android文件夹,目录结构如下(1.3是对应的版本号):
leakcanary-android文件夹
打开最里层的文件夹,你会发现文件的类型主要有三种:
jar文件:有的项目是以jar文件形式提供
aar文件:有的项目是以aar文件形式提供
pom文件: (Project Object Model),实际上就是个xml,是对一些必要信息的说明。这里我们只关心一个节点信息:<dependencies>:声明依赖列表
我们用文本编辑器打开leakcanary-android文件夹下面的pom文件:
...
<dependencies>
<dependency>
<!--包组 id,通常是发布者拥有的域名的反向,以免跟别人的重复-->
<groupId>com.squareup.leakcanary</groupId>
<!--包 artifactId,其实就是组以下应该有一个更小的归类-->
<artifactId>leakcanary-analyzer</artifactId>
<!--版本号-->
<version>1.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
..
当我们打开leakcanary-android的pom文件,
我们发现leakcanary-android依赖于leakcanary-analyzer的1.3版本。
同样的的我们打开leakcanary-analyzer 的pom文件,
发现leakcanary-analyzer依赖leakcanary-watcher和haha。
leakcanary-watcher和haha则没有依赖任何东西。
这样整个leakcanary-android导入本地的东西就是四个:
leakcanary-android
leakcanary-analyzer
leakcanary-watcher
haha
同样的方式去一层一层解析leakcanary-android-no-op,将所有需要的文件都导入到AndroidStudio中。这样整个LeakCanary就被我们真正实现本地化了。
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
debugCompile(name: 'leakcanary-android-1.3', ext: 'aar')
compile files('libs/leakcanary-analyzer-1.3.jar')
compile files('libs/leakcanary-watcher-1.3.jar')
compile files('libs/haha-1.1.jar')
releaseCompile(name: 'leakcanary-android-no-op-1.3', ext: 'aar')
这样就将整个LeakCanary项目完全转换成了本地的依赖。
⑹ Android Studio怎么把多个java mole生成jar包
LOCAL_STATIC_JAVA_LIBRARIES +=别名 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += 别名:libs/包名.jar 可以参考源码的Android.mk 或者 从网上找找相关的资料
⑺ 如何在Android Studio添加aar包或jar包引用
1、首先Android工程的主应用程序是iTool,我们是在主应用程序中引用其它的jar包。2、依次点击【File】——【New】——【New Mole】,弹出【Create New Mole】窗体,在窗体中选择【Import .JAR/.AAR Package】选项,然后点击【Next】按钮,进入jar包文件选择界面,在该界面中选择一个jar包文件并给它命名,最后点击【Finish】按钮。添加完jar包文件后如图所示。3、添加完jar包以后,接下来就该让主应用程序iTool对它进行引用了。选中iTool,右键菜单,点击【Open Mole Settings】选项,或者直接按下F4键,弹出【Project Structure】窗体。4、选中【Moles】区域中的iTool,在右侧区域中选择【Dependencies】选项卡,点击右侧的【+】按钮,在下拉列表中选择【Mole Dependency】,弹出【Choose Moles】窗体,在里面选中刚才添加的jar包,然后点击【OK】按钮即可完成jar的引用。