Android开发遇到的问题整合(持续更新)

前言

这一篇文章用来记录平时在开发中遇到的除gradle外的其他问题,一是加强记忆,二来也方便后续再次遇到同类问题方便查找。

问题列表

问题描述(Error while Launching activity)

在开发过程中连接着手机联调的时候,程序已经安装在手机上,这时候因为一些原因把APP卸载了,再次点击Run重新运行程序,安装app,出现了下面的错误

1
2
3
Error: Activity class {com.hencoder.hencoderpracticedraw7/com.hencoder.hencoderpracticedraw7.MainActivity} does not exist.

Error while Launching activity

运行出错

提示说启动界面时出错了,再往上一行说启动页(这里是MainActivity)不存在。出现这个问题的原因应该是,AS认为装载的app还存在,启动页却找不到了。但是实际上我们已经卸载了。

解决办法

在AS底部的工具栏中找到Terminal,打开,输入以下命令

adb uninstall 你的包名

我这里的包名是com.hencoder.hencoderpracticedraw7,所以就这样写:

adb uninstall com.hencoder.hencoderpracticedraw7

然后回车,出现Success字样

卸载成功

用adb的方式把app完全卸载掉,再次运行APP就可以了。

打开AS出现以下提示(non-Gradle…Android-Gradle)

1
2
3
Compilation is not supported for following modules: xxx. Unfortunately you 

can't have non-Gradle Java modules and Android-Gradle modules in one project.

翻译过来就是,在一个项目中不能有非渐变Java模块和Android渐变模块。具体什么是非渐变和渐变,我也不清楚[捂脸],后续查到再补充

解决办法

我遇到这个问题的原因是,在项目提交的时候,把一个libiml文件删除了,之后再运行自动生成了两个iml并且和之前的也不相同。比如我项目中的lib名称是image,一般对应生成的iml文件就是image.iml,但是我删除之后生成的却是两个,并同时报出了上面的错误。
然后搜了一下找到了解决办法:

  • 关闭当前项目
  • 关闭 Android Studio
  • 找到项目位置,删除项目中的.idea文件
  • 删除项目中所有的.iml文件(每个lib下iml都要删,包括app中的)
  • 重新打开Android Studio

stack overflow解决办法

收工

“Default activity not found”

在我们运行项目的时候,有时候会遇到这个问题:

titlebar error

app上有一个小红叉,点击run app,又会出现下面的错误

run_error

解决办法

方法一:

确认在app文件夹下的AndroidManifest.xml文件中已经添加如下代码

1
2
3
4
5
6
7
8
<activity
android:name="com.your.package.name.YourActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

如果添加以后还是不行,那看方法二

方法二:

点击工具栏的同步按钮

sync

同步以后,还是不行的话,就接着往下看

方法三:

Android Studio中选择

File -> Invalidate Caches / Restart...

之后在弹出的提示框上选择Invalidate and Restart按钮

方法四:

最后选择在Android Studio中选择

Build -> Clean Project

以上四种方法都执行了,这个问题应该就解决。

Medium解决办法

-------------The End-------------