gradle配置
2019-11-22 aar重复引用
新建工程,只有个默认的module app,然后添加个库module A,A和app都用到一个aar的库
aar文件放到libs文件夹下,gradle配置如下
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
app和A里都放了一样的aar,然后运行的时候提示有些类重复.
然后我把app里的aar文件删了,结果app提示找不到aar里的类,坑啊,网上各种帖子看完试了都不行
不过还是找到了思路
如下删除app里libs下的aar文件,然后添加dir目录指向module A的libs目录
如下,有两行,第一行libs是app自己目录下的,第二行是moduleA的libs目录
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation fileTree(dir: "../module A/libs", include: ['*.jar', '*.aar'])
2019-08-09
应用添加aar文件的方法
src同级添加lib文件夹,然后把aar文件放进去
然后修改下gradle文件,如下,括号里加上aar即可
implementation fileTree(dir: 'libs', include: ['*.jar',"*.aar"])
下边说下aar替换的问题,直接替换lib里的文件,是无效的,它有缓存的,你替换完,它用的还是老的
解决办法:
-
直接把工程下的.gradle 和.idea 目录删除,然后关闭studio,重启以后会重新编译,就成新的了。
2.不想关闭studio,那删除.idea下如图所示的aar的xml文件,完事再单击File下的菜单sync
1~android studio编译的java版本到底是多少?哪里可以看?咋修改?
我还是以为是File-->project structure 如下图这个了
不过当我在代码里尝试用java8的特性的时候,看到提示,说我的是7
然后有人说改这里可以修改java的编译版本,感觉没啥用啊
想起来以前是在build.gradle下改的,完事把这个加上,放到android{} 里边,果然还是得在这里 修改
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
studio打开不是android开发界面
新建工程直接成下边这界面了。好像和intellj 那啥差不多
https://zhidao.baidu.com/question/1947216954467238148.html
点击setting--》plugins--》找到“Android Support”选项,并勾选,然后会提示重启android studio ,点击重启,ok
可能你和我一样本来就是勾选的,没关系,取消勾选再重新选,然后ok会让你重启的,重启就好了
toolbar工具界面跑到右边去了
习惯了下图这种,toolbar在左边,可不小心跑到右边去了
如下图勾上即可,左侧那个东西叫 tool buttons,如果不见了,勾上即可
代码提示
新版本不要配置,默认的就有的,只不过默认的首字母是区分大小写的。所以不方便,修改下
如下图,setting里找到箭头的地方,case sensitive complete,改为None即可
android profiler
如果打开以后啥都不显示,出现下边的提示
No debuggable processes detected for the selected device.
如下解决如果是勾上的,点击下会提示你取消掉,同意,完事重新点击这个勾上。
Tools->Android->勾选上Enable ADB Integration->重新部署App
Settings repository
File 下有个Settings repository的功能,打开以后,输入一个github地址,完事就可以把本地的配置上传到git上,以后换电脑也可以从git上同步下来,不过这玩意需要一个token,还得把token记住,麻烦。试了一次,完事我本地配置都没了。之后没事就同步,还挺烦人的。
不想用这玩意的话,可以到settings下找到如下的,如果你设置过一个url,那右边是有个删除的按钮的,
如果你不想每次都同步,可以把同步取消勾选。
gradle相关
第三方库的版本号,主要是google提供的一些系统库,因为版本一般都一样,改的话就一起改了
比如正常app的build.gradle 添加第三方库
implementation 'com.google.code.gson:gson:2.8.0'
对于系统库可以这样写,在工程根目录下的build.gradle文件添加
buildscript {
ext{
kotlin_version = '1.2.41'
system_support_version='27.1.1'
work_version="1.0.0-alpha02"
}
//其他省略...
然后app的build.gradle文件下是这样写的
implementation "com.android.support:design:$system_support_version"
implementation "com.android.support:cardview-v7:$system_support_version"
implementation "com.android.support:recyclerview-v7:$system_support_version"
有时候会碰到添加了第三方的库,而第三方库里也应用了support库,版本还和我们的不一样,咋办?
在app的build.gradle文件末尾添加如下代码即可
下边有两种,一种是按条件修改,一种是后边那种直接force修改某个依赖
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion "$system_support_version"
}
}
}
resolutionStrategy.force 'com.google.code.findbugs:jsr305:2.0.1'
}
java编译版本的配置,在android属性下添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}