问题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代码迁移问题小汇总相关推荐

  1. android分析内存工具,Android Studio内存泄漏分析工具汇总

    Android Studio内存泄漏分析工具汇总 时间:2017-04-25     来源:Android开发学习网 在Android开发过程中,让人头疼的就是内存泄露问题了,很小的一个错误都会引起内 ...

  2. android studio光标变成黑块,解决Android Studio 代码无提示无颜色区分问题

    解决Android Studio 代码无提示无颜色区分问题 一.问题 ①java代码没有颜色区分,统一黑色 ②代码不会联想提示,原来打前几个字母便会联想到后面的内容 二.解决 打开File,将Powe ...

  3. Android Studio实现推箱子小游戏

    项目目录 一.项目概述 二.开发环境 三.详细设计 四.运行演示 五.项目总结 六.源码获取 一.项目概述 推箱子是一款非常受欢迎的益智游戏,游戏的玩法简单,但是需要玩家具备一定的逻辑思维能力和空间感 ...

  4. Android Studio 代码自动提示无效

    Android Studio代码自动提示无效(not available in Power Save mode)的解决办法 问题描述: 今天用Android studio敲代码,突然间就没有代码提示了 ...

  5. Android Studio 代码混淆(你真的会混淆吗)

    一.前言 今天要打包新产品,突然忘了混淆的参数是怎么写的了,虽然之前也混淆过,可是具体配置的参数代码有些记不起来了,因此决定花点时间写篇博客记录一下,方便以后查找和自己的记忆. 二.Android S ...

  6. git 命令详解和Android Studio代码管理工具

    目录 前言 git命令上传项目 一.核心操作 二.解决冲突 三.情景举例 四.查看ssh密钥 五.克隆远程项目 六.回退某个操作 七.和远程分支建立关联 八.删除文件 九.远程仓储 十.多人协作 十一 ...

  7. Android Studio实现贪吃蛇小游戏

    项目目录 一.项目概述 二.开发环境 三.详细设计 四.运行演示 五.项目总结 六.源码获取 一.项目概述 贪吃蛇是一款经典的街机游戏,不仅在电子游戏史上占有一席之地,也在很多人的童年回忆中留下了深刻 ...

  8. Android Studio代码提示前的小图标

    Android Studio图标的意思 每次在写代码的时候,一直不知道代码提示前的小图标是什么意思 最近Google了一下,在IntelliJ IDEA 网站看到了Icon的说明 Common Ico ...

  9. Android Studio 使用入门及问题汇总

    声明:转载自http://blog.csdn.net/wei_chong_chong/article/details/56280383 之前一直用eclipse+adt做Android开发.曾经尝试使 ...

最新文章

  1. UITableViewHeader 动态调整高度
  2. 08 - JavaSE之IO流
  3. Elasticsearch 简介
  4. C/C++ OpenCV之Scharr边缘检测
  5. 谈谈JavaScript的ECMA5中forEach
  6. Python面向对象编程案例:封装数据库增删改查操作
  7. kafka源码_终于看到有人把Kafka讲清楚了,阿里面试官推荐你看这份源码笔记
  8. MongoDB的正确使用姿势
  9. Linux设备驱动程序 之 中断和锁
  10. mysql手册04_视图
  11. 数据库的基本操作和约束
  12. 计算机硬件带软件怎么入账,企业购买硬件与软件该如何做账?
  13. error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“: h
  14. Scala使用ALS模型做推荐
  15. mac系统克隆不能启动_如何制作Mac硬盘的可启动克隆
  16. RAC下Fatal NI connect error 12170.报错处理
  17. 全文翻译:Deep Learning for Image Super-resolution: A Survey
  18. Python map
  19. 网站访问速度加速的方法
  20. 读书-《番茄工作法图解》

热门文章

  1. iOS WKUserContentController
  2. 北航计算机考研小黑书,不会真有人以为四川大学分数低吧?川大最高分比北航南大最高分还高...
  3. [初学Verilog笔记]使用assign还是always
  4. vue v-if 加key值的作用
  5. Groovy(Java笨狗)系列--Class,Scripts
  6. 手机kakao聊天能自动翻译 WhatsApp翻译 实时翻译
  7. Linux下如何拷贝隐藏文件
  8. STM32实现低功耗待机(电流低至5.7uA)
  9. Win11商店无法加载页面怎么办 Win11应用商店打不开怎么办
  10. IOS开发之——更换Storyboard