![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android--Bugs
文章平均质量分 58
Android Bug文章
ChatGPTer
我的新书《Android App开发入门与实战》已由人民邮电出版社出版,欢迎购买。
展开
-
Android Studio不弹出Git用户密码输入框的解决方案
有时我们输入错了Git账号密码,有时Git账号密码有更新,但是更新后打开项目,项目并没有弹框让我们重新输入账号密码。并且还会报错:Invocation failed Unexpected end of file from server.原创 2023-01-02 11:55:32 · 1064 阅读 · 0 评论 -
解决GitHub报错: Support for password authentication was removed on August 13, 2021
如果你最近在使用git命令,你会发现输入github的账号密码会报错。原创 2021-10-01 09:33:58 · 3160 阅读 · 0 评论 -
Kotlin报错:Out-projected type ... prohibits the use of ... defined in ...的解决方案
用Kotlin开发过程中使用BaseRecyclerViewAdapterHelper时候遇到如图问题:这里说下Kotlin的泛型和Java泛型的区别,Java定义的泛型使用时可以省略,但是Kotlin必须要声明。我们看一下mAdapter变量的定义:val mAdapter: BaseQuickAdapter<*, *> by lazy { getRepoAda...原创 2020-02-26 19:54:45 · 1597 阅读 · 0 评论 -
Could not find org.jetbrains.trove4j:trove4j:20160824
一般来说是AS加载各种包或者库时失败导致的,有可能是网络原因。因此我们更换默认的资源库作为下载源,在项目的build.gradle中,系统默认提供的是:buildscript { ext.kotlin_version = '1.3.61' repositories { google() jcenter() }}allproject...原创 2020-01-24 08:21:58 · 1730 阅读 · 0 评论 -
引用Kotlin编写的库时出现错误:无法访问NotNull
场景有一个Java开发的工程;有一个Kotlin开发的Library工程;Java开发的工程引用Kotlin开发的Library工程;错误提示com.sun.tools.javac.code.Symbol$CompletionFailure: 找不到org.jetbrains.annotations.NotNull的类文件;无法访问NotNull;解决方案一般出现这类问题是Ja...原创 2020-01-23 17:47:06 · 1518 阅读 · 0 评论 -
Error inflating class com.google.android.material.navigation.NavigationView的解决方案
文章目录Logcat输出日志场景还原解决过程Logcat输出日志2020-01-05 19:25:47.710 3713-3713/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.androidwind.github, PID: 3713 java.lang.RuntimeException: Unable to s...原创 2020-01-05 19:38:27 · 4005 阅读 · 0 评论 -
Line numbers info is not available in class的解决方案
最近在debug一个新项目的时候,发现断点无效,而且断点出会出现红叉,提示:后来发现是因为debug模式下开启了混淆功能,导致所有的断点都失效:把manifyEnabled改为false即可断点调试。...原创 2019-01-08 11:37:51 · 6500 阅读 · 4 评论 -
错误:Unfortunately you can‘t have non-Gradle Java modules and Android-Gradle modules in one project.
最近在revert一个library的build文件夹的时候,SVN出现错误,提示操作失败。结果整个Android Studio就开始不正常了。一直提示:Compilation is not supported for following modules: xxx. Unfortunatelyyou can’t have non-Gradle Java modules and Andro...原创 2020-03-28 11:17:55 · 10798 阅读 · 2 评论 -
SmartRefreshLayout和SmartTabLayout组合的bug
SmartRefreshLayout:https://github.com/scwang90/SmartRefreshLayoutSmartTabLayout:https://github.com/ogaclejapan/SmartTabLayout经试验,这两个开源库组合在一起有bug,bug的具体展现是SmartRefreshLayout刷新的时候,一直是最后加载的一个fragment,也...原创 2019-02-13 15:17:00 · 581 阅读 · 0 评论 -
OrmLite: Unable to run insert stmt on object && ormlite does not have an id field
在用OrmLite操作数据的create或update的时候,即调用createOrUpdate函数,发现数据库会报错,内容如下:“Unable to run insert stmt on object xxxx”,插入失败。通过阅读源码,发现createOrUpdate并未走到update流程,而是走到create流程:因为我们传入的data的id一直都是0,因为我们设置了data中的i...原创 2019-04-26 13:10:03 · 1079 阅读 · 0 评论 -
友盟推送接入出现ResClass未初始化的问题
最近一个在一个原来的项目代码中重新弄一个新的项目出来,最简单的方法就是在gradle里面的applicationId换一个新的包名就可以了。然后换一些文案,资源文件等,一个新的app闪亮登场。但是在接入友盟推送的时候遇到了个问题:提示资源文件找不到?我们想到会不会是更换包名引起的,但是gradle里面的applicationId配置的是应用程序的包名。而还有一种叫做资源文件包名,也就是我们...原创 2019-04-19 17:59:57 · 1805 阅读 · 2 评论 -
Error inflating class android.support.v7.widget.SearchView
最近在引用一个sdk包的时候,一打开就闪退,查看log提示:Error inflating class android.support.v7.widget.SearchView。代码啥的应该没有什么问题,最大的可能性就是依赖的库版本号兼容的问题。于是到sdk的项目里面查看,发现还有标红提示:意思是所有的support library必须版本号一致,不然可能会产生crash。于是找到不一致...原创 2019-08-19 17:59:00 · 799 阅读 · 0 评论 -
JCenter更改groupId和artifactId的注意事项
近期由于以前的域名废弃不用,需要将sdk的包名替换成新的域名。sdk使用novoda上传,配置如下:publish { userOrg = 'ddnosh' groupId = 'la.xiong.androidquick' artifactId = 'AndroidQuick' version = '2.0.0' description = 'Andr...原创 2019-09-10 11:55:15 · 631 阅读 · 0 评论 -
Android NDK版本引起的编译错误
一顿操作猛如虎,白白浪费一下午。接入了一个新的工程,其中有个模块是需要编译so文件的。但是无论如何怎么编译,一直报错,而且是各种错误。想到的解决方案:升级NDK版本。在sdk manager -&amp;amp;gt; sdk tools中升级到了18.1版本。结果还是编译不过。在google顺着build提示的错误查找。没有结果。更改compileSdkVersion和targetSdkVersi...原创 2018-12-29 15:14:35 · 2435 阅读 · 0 评论 -
Logcat中输出不能点击跳转的Log的解决方案
我们希望有这样的输出:点击后能够跳转到代码行处。但是有时候发现按照(文件名:行数)这样的格式并不能出书带有跳转功能的log:经过调查,发现是Tag中带有了()这样的符号。把Tag中的()符号去掉即可。...原创 2018-12-19 14:42:14 · 356 阅读 · 0 评论 -
Android主工程和第三方库工程中layout文件重名
在android开发过程中,我们会在自己的工程里面新建很多layout文件,一般都是按照自己的想法来命名。比如一个自定义的tab,我们新建一个文件叫做layout_tab.xml。而同时我们经常需要引用第三方的库来满足我们项目的需求,比如我们引用com.flyco.tablayout.SlidingTabLayout这个开源组件。但是使用过程中会遇到奇怪的事情,代码都写得没有问题,一运...原创 2018-01-29 13:46:36 · 2526 阅读 · 0 评论 -
String resource ID #0x0
开发过程中有时候对TextView进行写操作,比如mTVProgress.setText(progress);更新进度条;看上去没有什么问题,编辑器也不会报错,但是实际运行的时候,TextView控件会把progress作为一个resource id来看待;比如progress=0,textview认为这是一个id为0x0的资源文件,但是实际过程中没有这个文件,因而导致报错。解决方案:...原创 2018-02-08 10:54:01 · 3017 阅读 · 0 评论 -
使用adb命令行出现“系统找不到指定文件”的问题
使用adb命令行工具的好处就是方便,不需要你安装一个庞大的Android Studio工具。你只需要把sdk下的platform-tools拿在身边即可。比如安装一个apk、获取app的log等信息,就可以用adb相关的命令。今天遇到一个奇怪的问题是,直接在cmd里面敲adb devices,一直提示“系统找不到指定文件”:奇怪了,环境变量应该配置了啊。去环境变量里面看看:...原创 2018-02-09 14:27:43 · 9117 阅读 · 0 评论 -
使用Monkey自动化压力测试过程中遇到的问题
Monkey作为一款Android SDK自带的测试工具,主要用来对APP进行压力测试。关于Monkey的一些使用,可以参考这篇博客:https://www.jianshu.com/u/ab6ae567d03fMonkey命令:用一个简单的命令来测试吧:adb shell monkey -p your package name --throttle 100 --pct-touch ...原创 2018-02-09 17:47:40 · 1055 阅读 · 0 评论 -
编译出现“Execution failed for task ‘:app:processDebugManifest‘“的解决方案
有时候在开发的过程中编译代码的时候会遇到这样的错误提示:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed with multiple errors, see logs但是有没有明确的提示错误是什么。我们可以点击右下角的:Gradle Console,里面会有详细的说明,介...原创 2018-02-24 11:31:54 · 3358 阅读 · 0 评论 -
使用Android Studio代理遇到的问题
Android Studio 3.x在Setting里面设置了Proxy后,AS会自动在gradle.properties里面自动生成:systemProp.http.proxyHost=127.0.0.1-->代理IPsystemProp.http.proxyPort=1080→代理端口然而,注意,然而,在Setting里面取消了这个Proxy后(选择:No proxy),这两...原创 2018-03-14 19:18:19 · 3182 阅读 · 0 评论 -
Android Studio导入工程后不能编译成功
Android Studio导入老工程,会遇到编译失败的问题。 比如这次我就遇到了这样的提示:Could not HEAD xxxx Received status code 500 from server: Internal Privoxy Error。 这个工程在另一台电脑B上是可以正常编译运行的,电脑B是新电脑,开发环境也都是全新配置的。 但是我把这个工程放到电脑A上,注意:电脑A是我...原创 2018-04-07 09:01:25 · 2588 阅读 · 0 评论 -
微信双开的登录取消没有回调
如果我们手机里面装了两个微信,也就是微信双开,然后通过app的微信登录,这是系统会弹出两个微信让你选择,而不是直接打开微信。如果这个时候我们显示了loading,而此时用于点击back返回,那么我们是不会从微信得到任何回调的消息,比如通过onActivityResult,而手机QQ是有这样的回调机制的。从而导致我们不知道何时去取消这个loading对话框。 那么我们只能通过其他的手段去解决这个问...原创 2018-04-12 09:30:58 · 2870 阅读 · 0 评论 -
“adb已停止工作“的处理过程
平时都正常的使用,但是今天连接手机的时候却提示“adb已停止工作”。 最开始以为是不是android studio的问题,于是把as关了又打开,发现还是不行。 于是考虑是不是adb所用端口被占用了? 于是通过cmd按照以下的操作来逐一排查: netstat -aon|findstr 5037,查看5037端口被谁占了: 注意,状态要是“Listening”的。 发现进程id是828...原创 2018-03-19 14:17:59 · 893 阅读 · 0 评论 -
Dialog对话框弹出底部有空隙的解决方案
通常我们会用extends Dialog方式实现很多自定义的对话框,然后通过super(context, R.style.dialog_fullscreen_menu);设置对话框的样式,比如: <style name="dialog_fullscreen_menu"> <item name="android:windowBackground">@colo...原创 2018-11-09 16:23:08 · 5020 阅读 · 3 评论 -
在try catch中开启新的线程,不能捕获线程里面的异常
近期在review代码的时候发现,有些人为了图方便,直接在代码引用的最外层放上一个try catch,以为可以捕获一切异常,降低崩溃率。事实上,如果try的是新开启的一个线程,那么这个线程里面出现的异常是catch不到。也就是说在A线程中new B线程,B线程中出现的crash跟A线程无关,A也catch不到。public class TheadExceptionTest { publi...原创 2018-11-19 15:40:11 · 24066 阅读 · 0 评论 -
使用AndResGuard后遇到AssetManager#list(String path)返回为空的问题
AndResGuard是一款很好的Android资源文件混淆打包的工具。传送门:https://github.com/shwenzhang/AndResGuard以往我们使用proguard只对源代码进行了混淆,而忽略了对资源文件的混淆,AndResGuard就是为了解决这一问题的。使用过程中Proguard和AndResGuard可以混合使用。但是在使用过程中有一个比较隐秘的问题...原创 2018-01-04 08:50:34 · 523 阅读 · 0 评论