2019.02.18
又偶遇连不上真机问题,又是360安全卫士这辣鸡玩意搞的事,卸载光光就行了。这是常见的问题解决方案:参考自:
https://blog.csdn.net/fucaijin/article/details/81630793
2019.03.06
AS版本3.3.1
问题:Caused by: java.util.NoSuchElementException
解决方案:Ctrl+Alt+S打开设置,去掉勾选。参考文章:https://blog.csdn.net/houyingshang/article/details/81914182
2019.03.07
项目中多个Module(主+其他),然后导入/依赖的包存在不同版本导致
java.lang.NoSuchMethodError: No virtual method into(Landroid/widget/ImageView;)
2019.03.10
1、Manifest merger failed with multiple errors, see logs但是日志并没有详细输出哪个地方有问题,这时候想要获取更多详细的日志可以通过Terminal输入gradlew processDebugManifest --stacktrace,然后具体查看是什么原因
运行后如下所示,注释掉重复的清单权限
其他具体看错误信息对应修改就行:
2、android.os.DeadObjectException
deadObjectException异常, service已经停止;在application标签里面添加了一句android:hardwareAccelerated="false"(禁用硬件加速)。这个又抛出其他问题:Manifest merger failed with multiple errors, see logs。这个新问题没有打印详细问题所在,所以在Terminal中输入:gradlew processDebugManifest --stacktrace。同样抛出另一个问题:Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.。有点难搞。。。
2019.03.12
在build.gradle文件下上下调整下google()跟jcenter()
2019.03.28
AlertDialog无法弹出软键盘问题:(添加以下两行代码)
2019.04.11
小米8 9.0系统 启动应用弹出对话框提示“Detected problems with API compatibility(visit g.co/dev/appcompat for more info)”,解决方案就是适配到9.0。项目原来build.gradle中compileSdkVersion=28、buildToolsVersion='28.0.3'、targetSdkVersion=26,当时项目中集成的第三方SDK没法兼容到API=28,后来正好SDK升级到最新版本,targetSdkVersion正好可以升级上去,所以targetSdkVersion=28就不会弹出上面的对话框了。
参考文章:
https://forum.qt.io/topic/99465/api-issues-with-xiaomi-mi-8
https://github.com/react-native-community/react-native-image-picker/issues/978
2019.04.25
错误1:
java.io.IOException: Cleartext HTTP traffic to api.mh.juyihui.net not permitted
android 9.0默认禁止所有http网络请求,需要在AndroidManifest.xml的application属性中增加属性:
android:userCleartextTraffic="true"
参考:https://blog.csdn.net/Doyle_/article/details/88964548
错误2:
7.0之后安装解析错误:
参考:https://blog.csdn.net/hexingen/article/details/78508033
https://blog.csdn.net/zxc514257857/article/details/70766998
错误3:
android FileProvider路径配置
参考:https://blog.csdn.net/hexingen/article/details/78508033
错误4:
android 7.0需要安装权限
readMidString java.lang.SecurityException: MODE_WORLD_READABLE no longer supported
错误5:
旧项目从android 5.1(api=22)适配到9.0,因为依赖第三方的包多了,导致:
在build.gradle中配置:
multiDexEnabled=true
implementation 'com.android.support:multidex:1.0.2'
2019.05.15
1、android中WebView加载网页调用系统相机或相册,onShowFileChooser只调用一次的问题。(待补充)
参考文章:
http://teachcourse.cn/2224.html
https://blog.csdn.net/qq_19872525/article/details/81176093
https://www.jianshu.com/p/62e30dba3c1c
https://www.jianshu.com/p/48e688ce801f
https://blog.csdn.net/villa_mou/article/details/78256748
2019.05.23
Expected a name but was STRING at line 1 column 102 pah$[0].apkinfo.versionName
打包的时候出现这个问题,制定了打包输出路径,但是打包的时候报出这个错误,所以使用默认的release路径就没问题
2019.06.11
错误:java.lang.SecurityException: MODE_WORLD_READABLE no longer supported(Android 7.0不支持)
涉及:openFileOutput(xx, MODE_PRIVATE)、getSharedPreferences(xx, MODE_PRIVATE)
2019.07.15
1、Error: Static interface methods are only supported starting with Android N (--min-api 24): void butterknife.Unbinder.lambda$static$0()
静态接口方法只支持从Android N开始(java8才支持静态接口,所以我们可以在配置中配置java版本)
2019.08.13
class not find org/apache/http/params/BasicHttpParams
// android 9.0对于明文请求需要在application标签中添加android:usesCleartextTraffic="true"
// android 6.0开始不支持HttpClient需要添加以下uses-library
<application
android:usesCleartextTraffic="true">
<uses-library
android:name="org.apache.http.legacy"
android:required="false" />
</application>
1、HTTP FAILED: javax.net.ssl.SSLHandshakeException: Chain validation failed
2、网络请求设置日志拦截器的时候抛出的问题:
java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/Platform
保证拦截器的版本跟OkHttp(目前是OkHttp3)的版本一致就行
3、Android Studio 3.3.1升级到3.5.0构建项目抛出的问题:
java.lang.IllegalStateException: buildOutput.apkData must not be null
(1)如果是首次运行,先clean project, 再make project,然后再次运行就可以了
(2)如果步骤(1)不行,再试下rebuild project
(3)直接运行在手机上是可以运行的
(4)Build->Build APK也能正常打包debug.apk
(5)但是Build->Generate Signed APK却还是抛出上面的异常,问题在于我之前给正式版打包的apk指定了路径,现在改为默认路径就可以
参考:https://stackoverflow.com/questions/54503325/cause-buildoutput-apkdata-must-not-be-null