1.在低版本的手机或者模拟器不能运行 但是高的可以
使用自定义的Application继承MultiDexApplication这个类,或者重写Application的方法attachBaseContext(),并调用MultiDex.install();
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
2.快速找到错误的资源文件
错误:AAPT2 error: check logs for details
error: failed linking file resources.
解决方法:
直接在 studio中的 Terminal 中输入此命令,可以查看到androidstudio资源的错误信息
gradlew compileDebugSources
可以看到我的错误 资源文件是在 layout--activity_station_oil.xml的115行
3.design editor is unavailable until a successful build
修改提示的xml文件错误后 ,点击 File--> Sync Project with Gradles Files 就可以重新生成了
4.No IDEA annotations attached to the JDK 1.8 (C:\…), some issues will not be found
5.正常运行的项目 突然打叉 一运行就报no Default Activity
Solution
- Close Android Studio
- Go to
C:\Users\UserName\.android
and rename thebuild-cache
folder tobuild-cache.bak
-
Go to
C:\Users\UserName\.AndroidStudio3.2\system
and rename these folderscaches
tocaches.bak
compiler
tocompiler.bak
compile-server
tocompile-server.bak
conversion to
conversion.bak
external_build_system
toexternal_build_system.bak
frameworks
toframeworks.bak
gradle
togradle.bak
resource_folder_cache
toresource_folder_cache.bak
-
Open the Android Studio and open your project again.
翻译
- 关闭Android Studio
- 转到
C:\Users\UserName\.android
并将build-cache
文件夹重命名为build-cache.bak
-
转到
C:\Users\UserName\.AndroidStudio3.2\system
并重命名这些文件夹caches
至caches.bak
compiler
至compiler.bak
compile-server
至compile-server.bak
conversion to
conversion.bak
external_build_system
至external_build_system.bak
frameworks
至frameworks.bak
gradle
至gradle.bak
resource_folder_cache
至resource_folder_cache.bak
-
打开Android Studio并再次打开您的项目。
-
此方法实际上会重命名该文件,以便Android Studio无法识别它。此方法实际上与删除该文件相同。我将这些文件重命名为仅在Android Studio中发生错误时进行备份。因此,您可以通过删除该文件来解决问题。 -
6.获取当前显示的Activity
adb shell dumpsys activity top
7.
在工作过程中我们经常会遇到项目中jar包或者依赖重复而导致的错误信息,这个时候虽然我们知道原因是因为jar包或者依赖重复而导致,但是并不知道具体是哪一个重复了,这个时候我们就需要快速定位重复的jar包或者依赖。这里我们可以使用Android Studio的Terminal命令快速去定位相关问题:
gradlew assembleDebug --stacktrace命令,编译过程中会提示相关错误信息,并明确指出错误原因。
gradlew app:dependencies命令,查看依赖树(这里app指Android 工程主 Module 名称)