BUG问题
Program type already present: com.google.android.gms.auth.api.signin.internal.Storage
解决:刚同步分支之后出现这个问题,clear之后这个问题没有了,但是报了下面问题
Android dependency 'com.google.android.gms:play-services-basement' has different version for the compile (16.0.1) and runtime (16.2.0) classpath. You should manually set the same version via DependencyResolution
原因:包依赖重复的原因,但是因为接入的sdk不同,每个exclude太麻烦,可以通过构建脚本的去解决
笔记部分:
1. 8.0手机 Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
原因:在8.0中,非全屏Activity不能设置透明背景
解决一:android:screenOrientation="portrait" 删掉就可以了
解决二:不要把背景设置成透明色
2. gradle5.1.1坑
解决:
将gradle-wrapper.properties中 gradle-5.1.1-all 替换一下即可。
https\://services.gradle.org/distributions/gradle-4.6-all.zip
将gradle app 的构建版本修改一下,去网上查查版本对应就行,自己建个文件然后复制进来也ok
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
3. Google Play要求app从2019年8月1日起支持64位CPU从2019年8月1日起,在Google Play上发布app必须支持64位体系。从021年8月1日起,Google Play将停掉尚未支持64位体系的APP。
这样我们自己或第三方依赖库使用到native代码例如C、C++就需要提供armeabi-v7a、arm64-v8a、x86、x86_64等的so库。如果不确定可通过Android Studio中的Build下载Analyze APK来查看lib目录下是否有对应的so库。简单的话,拖拽apk文件到Android Studio中即可。
4.在fragment中getActivity()为空的情况
场景:类1处理完一段逻辑后,将值重新传入fragment中,在加载是发现报空指针异常。原因是getActivity()为空。
分析:activity在onAttach方法与它依赖的绑定,在onDetach中解绑,这也就指定的getActivity的使用范围是onAttach()到onDetach()之间。大概可以得出结论,当getActivity为null的情况一定是fragment onDetach了或者压根就没有onAttach。