学习Android开发不得不会的东西。如果这些你不想学会。可以留一个印象,方便以后快速开发。每一个问题都是开发中遇到的实际问题。但是问题不是一篇博客一个人就能彻底解决得,如果你感觉文章对你有所帮助,请你把你遇到的问题反馈给我。如果符合我会更新到这篇博客上,谢谢。(QQ:1441289873)

一、代码混淆

Android代码混淆

现在的App上线前肯定都需要代码混淆的,那么代码混淆到底有什么用呢?难道只是让代码在反编译的时候看不懂?接下来看:

ProGuard是一个混淆代码的开源项目,它的主要作用是混淆代码,还包括以下4个功能:
1.压缩(Shrink):检测并移除代码中无用的类、字段、方法和特性(Attribute);
2.优化(Optimize):对字节码进行优化,移除无用的指令;
3.混淆(Obfuscate):使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名;
4.预检(Preveirfy):在Java平台上对处理后的代码进行预检,确保加载的class文件是可执行的。

但是我们还应该看到以下几点问题的存在:

  • 代码混淆和编译成.so的安全性都是相对的,都是增加了破解的难度。
  • 有的人破解是需要了解其代码的 代码混淆可能会让别人花费更多时间,但是有的破解是不需要看其源码的,比如在一个apk里面嵌入广告,只需要找到启动广告和放入广告代码和xml注册广告权限就可以了。
  • android的4大组件不允许被混淆 这就是一个很大的问题,对于反编译的人来说这就是入口。

开启代码混淆只需两步:
1.在proguard-rules.pro中配置混淆

2.在appd的build.Gradle里,将minifyEnabled设置为true

就可以了,如果想了解混淆的各种具体配置请访问:https://www.jianshu.com/p/e19cc5194a31

二、查看混淆后的Log

在项目上线前,要进行代码混淆,同时我们也会使用一些工具来换取用户使用App的情况,通过一些第三方统计,或者捕获异常上传到服务器。代码被混淆了怎么查看Log打印的问题呢?很简单在你的SDK里就有自带工具来查看。具体路径在下面:

D:\sdk\tools\proguard\bin

就是在你的SDK目录下的tools里proguard的bin下

就是proguardgui.bat它了,如果你打不开的话,也不用去百度怎么办了,直接下载一个新的才3.7M。

下载链接

打开后肯定先是黑窗口,然后就是这样,如果不一样,就不知道了,我是重新下载的。

只截屏了一点

1.点击“ReTrace”;
2.点击“Browse”,选中项目工程下..../app/build/outputs/mapping/normal/mapping.txt;
3.将错误日志中复制粘贴到“Obfuscated stack trace”下的内容区域中;
4.点击右下角“ReTrace!”,即可定位错误代码。

图是偷的!!!

三、升级AS以前的库下载问题

不知道从AndroiStudio多少版本开始就出现了,jcenter库下载失败。今天我也遇到了花了好长时间才解决掉。

我附一个地址是阿里的镜像网站比其他快。

http://maven.aliyun.com/mvn/view

把你下不下来得库的地址附上去就行了

列如:

这是jcenter库的地址,因为大多数都是要它的地址,直接放到下面了

https://maven.aliyun.com/repository/jcenter

四、AS升级和插件升级

插件升级:

AS升级

五、HorizontalScrollView嵌套RecyclerView显示不全

在HorizontalScrollView下使用RelativeLayout而不是其它布局,轻松解决

学Android必须懂的相关推荐

  1. 从零开始学android编程_android初学者的入门秘籍

    大概是去年年底开始接触android 原本是学习嵌入式的我,领导让我看看能不能搞一下这个android APP. 一开始的我懵逼得很... 这android APP 不是得用java写吗??? 现在我 ...

  2. 《教我兄弟学Android逆向01 编写第一个Android程序》

    前言 之所以准备写这一系列逆向的教程是因为有一些同学私信我说自己想学习Android逆向但是不知道怎么去学习 包括自己身边的一些计算机专业的同学 在大学里面老师讲的那些东西要么是自己不感兴趣 要么是自 ...

  3. 做嵌入式的必须学Android吗

    做嵌入式的必须学Android吗 Android方向适合哪些人呢?适合那些已经在自己领域有了一定的工作经验的人,适合作为自己的拓展,适合提升自己的能力,譬如说已经做三年Linux驱动,就可以尝试拓展去 ...

  4. 教我兄弟学Android逆向

    作者论坛****账号:会飞的丑小鸭 课程导航: <教我兄弟学Android逆向01 编写第一个Android程序> <教我兄弟学Android逆向02 破解第一个Android程序 ...

  5. Carson带你学Android:你要的WebView与 JS 交互方式都在这里了

    前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝.京东.聚划算等等,如下图 上述功能是由Android的WebView实现的,其中涉及到Android客户端与 ...

  6. Carson带你学Android:请收好这一份全面详细的Android学习指南

    前言 如果你也学习Android,那么你大概率会看过我的文章.经常有读者给我留言:"该怎么学习Android?"."日常学习Android的方法是什么". 今天 ...

  7. Carson带你学Android:源码解析自定义View Draw过程

    前言 自定义View是Android开发者必须了解的基础 网上有大量关于自定义View原理的文章,但存在一些问题:内容不全.思路不清晰.无源码分析.简单问题复杂化 等 今天,我将全面总结自定义View ...

  8. 第88章、系统服务之NOTIFICATION_SERVICE服务(从零开始学Android)

    Notification通知将一个图标(包含一条可选的提示文本信息)填加到系统的状态栏(一般来说,Android手机的状态栏是在顶部,非底部,要注意噢)中,并将一条展开信息添加到通知窗口中.当用户选中 ...

  9. Carson带你学Android:这是一份全面详细的属性动画学习攻略!

    前言 属性动画的使用 是 Android 开发中常用的知识 本文将献上一份全面 & 详细的属性动画学习指南,将详细介绍属性动画的所有内容,包括:意义.作用.应用场景.功原理 & 具体使 ...

最新文章

  1. TestNG:org.openqa.selenium.os.UnixProcess$SeleniumWatchDog错误
  2. shell学习之shell执行方式及排错
  3. 父框架与子框架的互操作
  4. SE81 - Application hierarchy CSS component tree
  5. 窗口类的注册生成和消息循环
  6. LeetCode 1617. 统计子树中城市之间最大距离(枚举所有可能+图的最大直径)
  7. android studio 调用c++,android studio配置opencv,调用c++,处理图像
  8. pixhawk学习笔记---创建新的应用程序
  9. 交换两个数不是三个数。
  10. 放之四海皆适用的设计原则(一)
  11. 2005/2010/2015-2021年全国兴趣点POI数据
  12. 今天同学跟我说刚入门前端,想到我目前实习的公司涨涨经验
  13. 在BAT工作是什么样的?来听听在职员工们的说法
  14. 大学生学C语言用什么笔记本电脑,有哪些适合大学生用的笔记本电脑
  15. 嗖的一下第二弹,这些好看的皮肤直接一键收下~~
  16. cfdpost导出图片_CFD-POST出数据方法.pdf
  17. 电大计算机形考试题,电大计算机形考试题1.doc
  18. 数据结构基本代码汇总
  19. 暑期实训二20220621
  20. 微信小程序低功耗蓝牙BLE快速开发js

热门文章

  1. Matlab实现拉格朗日插值函数
  2. 分析Android引起的“电视智能化”之TV用UI的现状与未来
  3. FireFox火狐、chrome谷歌浏览器没有标签页和窗口关闭快捷键
  4. 无人机遥感图像语义分割数据集UAVid使用
  5. shell脚本(linux)
  6. 05 【动静分离和URLRewrite】
  7. CSS实例(一):漂亮的表格样式(使用CSS样式表控制表格样式)
  8. python两个自定义函数_Python自定义函数实现求两个数最大公约数、最小公倍数示例...
  9. 用Python分析了7000多个交易日的涨跌数据,看看A股有没有“黑色星期五”
  10. 现在香港开银行账户又变难了