错误1: androidStudio Error:null value in entry: annotationProcessorOutputFolder=null!
类似错误Error:null value in entry: resOutputDir=null
、Error:Null value in entry: dependencyCacheDir=null
、Error:null value in entry: outputDirectory=null
解决问题:
删除项目根目录的.gradle
文件夹,然后Clean
、Rebulid
。
StackOverFlow
错误2: java.lang.UnsupportedOperationException
原因:
Arrays.asList()
返回java.util.ArraysArrayList
,非ArrayList
,两者都继承AbstractList
,remove
、add
等方法在AbstractList
中默认throw UnsupportedOperationException
且不作任何操作。
ArrayList
重写了这些方法,但ArraysArrayList
没有重写这些方法,所以throw UnsupportedOperationException
。
解决问题:
List list = Arrays.asList(fixArray[]);
List newList = new ArrayList();
newList.addAll(list);
错误3: Detected problems with API compatibility(visit g.co/dev/appcompat for more info)
Android P 后谷歌限制了开发者调用非官方公开API 方法或接口。
//在程序初始化时调用该方法,可去掉弹窗
private void closeAndroidPDialog() {
try {
Class aClass = Class.forName("android.content.pm.PackageParser$Package");
Constructor declaredConstructor = aClass.getDeclaredConstructor(String.class);
declaredConstructor.setAccessible(true);
} catch (Exception e) {
e.printStackTrace();
}
try {
Class cls = Class.forName("android.app.ActivityThread");
Method declaredMethod = cls.getDeclaredMethod("currentActivityThread");
declaredMethod.setAccessible(true);
Object activityThread = declaredMethod.invoke(null);
Field mHiddenApiWarningShown = cls.getDeclaredField("mHiddenApiWarningShown");
mHiddenApiWarningShown.setAccessible(true);
mHiddenApiWarningShown.setBoolean(activityThread, true);
} catch (Exception e) {
e.printStackTrace();
}
}
错误4: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/protocol/BasicHttpContext;
1. 在 AndroidManifest.xml 中的 application 标签中添加 `<uses-library android:name="org.apache.http.legacy" android:required="false"/>`;
2. compileSdkVersion 当前为28,修改为27。
错误5: master -> origin/master refusing to merge unrelated histories
起因:由于无法提交,所以使用 git pull origin master
(origin 仓库,master 分支),然后输出 refusing to merge unrelated histories
不能 pull。
解决:合并两个不同的项目,需要输入 --allow-unrelated-histories
允许不相关历史合并。
//源origin,分支master
git pull origin master --allow-unrelated-histories
//设置了默认上传分支
git pull --allow-unrelated-histories
错误6: XML or text declaration not at start of entity.
<?xml version="1.0" encoding="utf-8"?>
要放在xml文件第一行,且仅有一个,不能有空格、回车等符号。
错误7:IllegalArgumentException: Scrapped or attached views may not be recycled. isScrap:false isAttached:true
简单说:RecyclerView 的 adapter 被清空数据,但没及时 notifyDataSetChanged()
,没办法回收 item 导致。
错误8: Only fullscreen activities can request orientation
起因:
安卓8.0版本为了支持全面屏,增加了一个限制:如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明)。然而这个bug只有在8.0中有,8.1中已经修复。具体crash有两种:
1.Activity的风格为透明,在manifest文件中指定了一个方向,则在onCreate中crash
2.Activity的风格为透明,如果调用setRequestedOrientation方法固定方向,则crash
参考:https://blog.csdn.net/starry_eve/article/details/82777160
错误9: WebView.loadData 乱码
起因:
在低版本手机中使用 WebView 的 loadData(data, "text/html", "utf-8")
方法加载网页数据时会出现乱码(测试三星 5.0)。
解决:
webSetting.setDefaultTextEncodingName("UTF-8");
webView.loadData(data, "text/html; charset=UTF-8", null);
错误10: 小米手机无sim卡,无法安装应用
开发者选项中 "MIUI优化" 并重启.
错误11: Android Studio: Adb connection Error:远程主机强迫关闭了一个现有的连接
- Tools->SDK Manager->Android SDK:SDK tools->Android SDK Platform-Tools 打勾下载
- File->Settings-Build, Extension, Deployment->Debugger->Enable adb mDNS for wireless debugging 取消勾选
错误12: Java 引用 Kotlin 自定义的 View 报错
解决:在对应module
的build.gradle
中添加apply plugin: 'kotlin-android'