在这边文章里面总结下安卓开发经常遇到的一些小知识,有的是借鉴其他人的博客,有的是自己工作中遇到的,还有可能是面试问道的
1、在一个安卓项目中如何统一使用版本库
博客借鉴:https://blog.csdn.net/struggle1103/article/details/80379961
我第一个做的项目里面就需要将版本统一化,这样比较方便各个模块的统一使用,也便于修改
2、NDK开发初期遇到的那些事NDK开发初期会遇到很多问题,比如下载最新的NDK 18 版本 toolchains 目录下没有mips64el-linux-android-4.9和mipsel-linux-android-4.9包,这样在AS配置NDK的时候就会提示没有这个包了,这里建议使用16 版本的NDK。还有就是在已经创建好的安卓项目里面突然需要NDK开发了,这个时候如果创建这个项目的时候没有添加 C/C++ 那么你创建C/C++ 文件编程的时候是没有智能提示的,简单的做法就是在main目录下创建一个cpp 文件夹,然后rebuild,你还可能会遇到CMakeLists 这个问题,需要在app build下 添加如下代码:
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
}
}
放 defaultConfig下
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
放android 下
紧接着build,第二个问题来了,CMakeLists.txt文件没有!
这个时候你可以重新创建一个Demo项目嘛,这次要勾上 C/C++ 了哈,新项目创建好之后你就看看这个CMakeLists.txt到底在哪又是啥玩意,在app目录下你就看到了,把这个文件复制到刚才那个项目app目录下,在build,第三个问题又来了,native-lib文件又没有!
打开CMakeLists文件你会发现里面有提到这个native-lib,那么它到底在哪儿呢?打开新项目在cpp 目录下你就能看到,同样复制过去在build,应该OK啦
3、这里记录下一个问题,一个TextView 点击进行背景色和字色变化
默认:红色背景 + 白色文字
奇数点击:蓝色背景 + 红色文字
偶数点击:变回默认
吐槽:这种效果网上说的一大推,我试了很多次,都TM不行,都是一个效果:按住是变色了,松手就变回来了
我的想法:xml 里面那些什么press,activated,checked都不用,直接用selected,然后在代码里面判断奇偶点击,设置setSelected(true/false)这样有效
4、记录一个问题,其实我并没有解决
看图
首先,我的jdk 是1.8,swith没毛病,那为啥不能用呢,Constant expression required(需要常量表达式) 也就是说这个R.id.tv_bs 不是常量,你可以到R.java 看下,没有用final 定义变量这就是原因,怎么解决目前没时间去弄,有时间去百度一波
5.一个问题:Installation failed with message Failed to finalize session : INSTALL_FAILED
我现在在培养解决问题的一个好习惯,那就是先读懂这个问题,
上面也说了,通过卸载来解决问题,那么就OK呗,但是TMD下次在运行或者Instant 还是这样,百度一波搜到很多人说把下面这个去掉
我TM试都不想试,在安卓运行过程中,我就是要用这个Instant Run 功能,你让我去掉?SD
不过目前在网上也没搜到啥有用的,等有时间来解决下