Android Studio代码迁移问题小汇总
问题1:Duplicate class com.xxx.xxx.xxx.BuildConfig found in modules jetified-A-release-runtime 问题
> Duplicate class com.xxxdemo.xxx.xxx.BuildConfig found in modules jetified-A-release-runtime (:A-release:) and jetified-B-release-runtime (:B-release:)
Execution failed for task ':XXXdemo:checkReleaseDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
> Duplicate class com.XXX.XXX.B.BuildConfig found in modules jetified-A-release-runtime (:A-release:) and jetified-B-release-runtime (:B-release:)
解决:
1、刚开始以为是依赖问题,实际上多重依赖问题也不大,主要可能是版本不同就容易出现上述问题,版本问题看以下文章:
https://mp.csdn.net/editor/html/114635427
2、但最终我的问题是AndroidManifest.xml文件里面指定的"package=MyPakageName"包名不小心写错跟我依赖的第三方aar库包名重名了,改名之后就OK了。
问题2:W/System.err: java.io.IOException: Cannot run program "su": error=13, Permission denied
代码:
Process p = Runtime.getRuntime().exec("su");
解决:
Process su = Runtime.getRuntime().exec("/system/bin/sh");
推荐博文:
https://blog.csdn.net/weixin_43266090/article/details/108245698
问题3:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
场景:没有了aidl服务,获取数据需要延迟,线程新增定时器出现此问题。
解决:
private Handler mHandler;
mHandler = new Handler(Looper.getMainLooper());
问题4:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
问题代码:
Intent intent = new Intent(mContext.getApplicationContext(), MyActivity.class);
mContext.startActivity(intent);
解决:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
问题5:The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER
解决:
更改android:authorities属性,该命名重名或者冲突了
<providerandroid:name="com.zoncare.provider.TDBProvider"android:authorities="com.sprovider"android:exported="true"android:process=":remote"/>
问题6:Manifest merger failed with multiple errors, see logs
解决:
aar与当前工程的Manifest清单文件重复注册了,删除当前工程文件注册即可。
问题7:BadTokenException: Unable to add window android.view.ViewRootImpl
悬浮窗权限:
onCreate()添加:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == OVERLAY_PERMISSION_REQ_CODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
// SYSTEM_ALERT_WINDOW permission not granted...
}
}
}
}
SDK版本>23即android 6.0以上系统会弹出一个提示框允许界面上有提示框显示,打开开关即可。
问题8:java.lang.IllegalArgumentException: Can only use lower 16 bits for requestCode
解决:
private static final int xxx_PERMISSION_REQ_CODE = 11;这里的赋值不能超过2的16次方值即35536。
问题9:ActivityThread: Failed to find provider info for com.xxx.xxxprovider
解决:
保证远程数据库访问Uri作者与manifast注册作者的一致性:
<!-- 数据库远程访问 --><providerandroid:name="com.xxx.xxx.xxxService.provider.xxxDBProvider"android:authorities="com.aaa.aaa.aaaprovider"android:exported="true"android:process=":remote"tools:ignore="ExportedContentProvider"/>/*** DATABASE匹配,权值, 注意:保持与注册的作者一致性。*/public static final String AUTHORITIES = "com.aaa.aaa.aaaprovider";private static final UriMatcher MATCHER = new UriMatcher(UriMatcher.NO_MATCH);MATCHER.addURI(xxx.AUTHORITIES, xxx.xxx_PATH, BBB_ARCHIVES);/*注意: 保持与注册的作者一致性。*/private Uri mUri = null;public static final String xxx_URI = "content://" + AUTHORITIES + "/BBB_ARCHIVES";mUri = Uri.parse(xxx_URI);
Android Studio代码迁移问题小汇总相关推荐
- android分析内存工具,Android Studio内存泄漏分析工具汇总
Android Studio内存泄漏分析工具汇总 时间:2017-04-25 来源:Android开发学习网 在Android开发过程中,让人头疼的就是内存泄露问题了,很小的一个错误都会引起内 ...
- android studio光标变成黑块,解决Android Studio 代码无提示无颜色区分问题
解决Android Studio 代码无提示无颜色区分问题 一.问题 ①java代码没有颜色区分,统一黑色 ②代码不会联想提示,原来打前几个字母便会联想到后面的内容 二.解决 打开File,将Powe ...
- Android Studio实现推箱子小游戏
项目目录 一.项目概述 二.开发环境 三.详细设计 四.运行演示 五.项目总结 六.源码获取 一.项目概述 推箱子是一款非常受欢迎的益智游戏,游戏的玩法简单,但是需要玩家具备一定的逻辑思维能力和空间感 ...
- Android Studio 代码自动提示无效
Android Studio代码自动提示无效(not available in Power Save mode)的解决办法 问题描述: 今天用Android studio敲代码,突然间就没有代码提示了 ...
- Android Studio 代码混淆(你真的会混淆吗)
一.前言 今天要打包新产品,突然忘了混淆的参数是怎么写的了,虽然之前也混淆过,可是具体配置的参数代码有些记不起来了,因此决定花点时间写篇博客记录一下,方便以后查找和自己的记忆. 二.Android S ...
- git 命令详解和Android Studio代码管理工具
目录 前言 git命令上传项目 一.核心操作 二.解决冲突 三.情景举例 四.查看ssh密钥 五.克隆远程项目 六.回退某个操作 七.和远程分支建立关联 八.删除文件 九.远程仓储 十.多人协作 十一 ...
- Android Studio实现贪吃蛇小游戏
项目目录 一.项目概述 二.开发环境 三.详细设计 四.运行演示 五.项目总结 六.源码获取 一.项目概述 贪吃蛇是一款经典的街机游戏,不仅在电子游戏史上占有一席之地,也在很多人的童年回忆中留下了深刻 ...
- Android Studio代码提示前的小图标
Android Studio图标的意思 每次在写代码的时候,一直不知道代码提示前的小图标是什么意思 最近Google了一下,在IntelliJ IDEA 网站看到了Icon的说明 Common Ico ...
- Android Studio 使用入门及问题汇总
声明:转载自http://blog.csdn.net/wei_chong_chong/article/details/56280383 之前一直用eclipse+adt做Android开发.曾经尝试使 ...
最新文章
- UITableViewHeader 动态调整高度
- 08 - JavaSE之IO流
- Elasticsearch 简介
- C/C++ OpenCV之Scharr边缘检测
- 谈谈JavaScript的ECMA5中forEach
- Python面向对象编程案例:封装数据库增删改查操作
- kafka源码_终于看到有人把Kafka讲清楚了,阿里面试官推荐你看这份源码笔记
- MongoDB的正确使用姿势
- Linux设备驱动程序 之 中断和锁
- mysql手册04_视图
- 数据库的基本操作和约束
- 计算机硬件带软件怎么入账,企业购买硬件与软件该如何做账?
- error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“: h
- Scala使用ALS模型做推荐
- mac系统克隆不能启动_如何制作Mac硬盘的可启动克隆
- RAC下Fatal NI connect error 12170.报错处理
- 全文翻译:Deep Learning for Image Super-resolution: A Survey
- Python map
- 网站访问速度加速的方法
- 读书-《番茄工作法图解》
热门文章
- iOS WKUserContentController
- 北航计算机考研小黑书,不会真有人以为四川大学分数低吧?川大最高分比北航南大最高分还高...
- [初学Verilog笔记]使用assign还是always
- vue v-if 加key值的作用
- Groovy(Java笨狗)系列--Class,Scripts
- 手机kakao聊天能自动翻译 WhatsApp翻译 实时翻译
- Linux下如何拷贝隐藏文件
- STM32实现低功耗待机(电流低至5.7uA)
- Win11商店无法加载页面怎么办 Win11应用商店打不开怎么办
- IOS开发之——更换Storyboard