Android Studio 常见问题分析解决

出现问题<一>:

点击IDE(Android Studio版本>=3.0)中run在测试机上跑出来的包,提示如下“该软件包似乎已损坏”异常:

原因分析:

在Android Studio3.0及以上版本,默认会在AndroidManifest.xml文件的application中自动添加android:testOnly="true"属性,所以我们直接点击“run”运行的时候会报错如下:Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]

Google为啥这么做,有兴趣的可以查看这篇文章:

https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

解决方案:

方案1、在gradle.properties文件中添加如下一行属性即可:

android.injected.testOnly=false 

方案2、如果不修改Google默认的testOnly属性,是不是就没办法了呢,不是的办法还是有很多的,比如我们可以直接点击Gradle的InstanllDebug来直接安装:

方案3、使用adb 指令来安装:

adb uninstall xxx.apk //这里是apk安装包的绝对路径
adb install xxx.apk

或者

adb install -r xxx.apk//覆盖安装

或者 

adb install -t xxx.apk//testOnly版本安装

出现问题<二>:在多人协作项目中,你总是发现自己在一个原有的类中只修改了一行代码,并没有导入新的包,为啥import导入的包会有位置变动呢(因为我们关注的是:在修改一个原有类的时候我们保持最小的修改量,这样可以保持代码的清晰度,能让同事清晰的了解到你在某个时刻只是修改了哪一行代码,不必要修改的地方维持现状),如下图所示:

原因分析:

这是因为在IDE中自动开启了Optimize Imports(优化导入)选项。所以IDE会帮你自动优化你导入的包类型(比如会把java相关的包都导入至最上面等)。

解决方案:

(Mac) Android Studio --->Preferences --->Editor ---> General --->Auto Import 将如下红框中的对勾取消即可:

当然,新创建的项目,或者我们个人的项目可以建议约定好都将此"优化导入"选项打开。

发布了95 篇原创文章 · 获赞 195 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/u012440207/article/details/90549125