0x00 简介Android apk很容易通过逆向工程进行反编译,从而是其代码完全暴露给攻击者,使apk面临破解,软件逻辑修改,插入恶意代码,替换广告商ID等风险。我们可以采用以下方法对apk进行保护.0x01 混淆保护混淆是一种用来隐藏程序意图的技术,可以增加代码阅读的难度,使攻击者难以全面掌控app内部实现逻辑,从而增加逆向工程和破解的难度,防止知识产权被窃取。代码混淆技术主要做了如下的工作:
一、Android编码规范  1、学会使用string.xml文件  在我看来,当一个文本信息出现的次数大于一次的时候就必须要使用string.xml  比如一个保存按钮 , 不规范写法: <Button android:id="@+id/editinfo_btn_save" android:layout_width="wrap_c
转载 2023-07-28 22:33:28
115阅读
在andriod开发中,很大一部分都要与资源打交道,比如说:图片,布局文件,字符串,样式等等。这给我们想要开发一些公共的组件带来很大的困难,因为公共的组件可能更愿意以jar包的形式出现。但是java的jar包中只允许出现java代码而不能出现资源。当我们想要以jar包的形式提供我们自己开发的公共组件时,我们就需要把以代码的形式创建资源。下面提供一个使用全Java代码的形式创建一个ProgressB
Android在一个app中安装并卸载另一个app1.在app→src→main下新建文件夹asserts,将准备安装的apk文件放在asserts内2.在app→src→main→res下新建文件夹xml,右击xml文件夹,选择new→XML Resource File,File name为文件名,可随意,本文中为filepaths;Root element为资源类型,输入paths,确定并编辑
代码规范是我们每个程序员要做的事,假设我们按照自己的喜好来写代码,那么很可能出现的问题就是我看不懂你的代码或者你看不懂我的代码,这样会给后续维护形成巨大的障碍。这个时候问题来了,如何让代码不分你我,或许只需要一套规则,你和我都认可并且遵守的代码规范守则。
转载 2023-07-31 22:11:32
123阅读
android中的代码布局 前言: 习惯了用xml来写布局的,再用代码来写布局,恐怕会很类。但毕竟有时候,我们还是需要用到代码来写布局。 代码布局与xml布局有很多相似点,在大多数方法上都可以直接用,只有个别方法的写法不太一样,接下来,我将分几篇来介绍常用的几种控件。 以Android工程自带的main.xml为例,看看代码是如何实现的 一、设置当前布局 关于这个问题只针对初级水平的人员,其他人
AS自带的代码检测:Analyze——Inspect Code(英文提示错误类型、错误原因),利用插件Alibaba Java Coding Guidelines(汉化了)……一些修改可以直接点击图中红色框框,会自动帮修改好,下面是整理好常见的规范:1.所有数据get之前判空;eg:if (null != user){String userid=user.getUserId;}2.判空的数据写在等
转载 2023-07-17 16:55:59
70阅读
3.5.9 styles.xml 在应用中对于大多数文本内容,最起码你应该有一个通用的styles.xml文件,例如:
里面有一个文件叫”Android代码规范”。代码规范:(源文件编码格式为 UTF-8) 1.区块划分:1.1 建议使用注释将源文件分为明显的区块,区块划分如下: 1.常量声明区 2.UI控件成员变量声明区 3.普通成员变量声明区 4.内部接口声明区 5.初始化相关方法区 6.事件响应方法区 7.普通逻辑方法区 8.重载的逻辑方法区
转载 2023-05-24 13:49:48
83阅读
1. 资源文件(图片drawable文件夹下): 全部小写,采用下划线命名法,加前缀区分 命名模式:activity名称_逻辑名称/common_逻辑名称如果有多种形态如按钮等除外如btn_xx.xml(selector)名称功能btn_xx(selector)btn_xx_normal  按钮图片使用btn_正常情况效果btn_xx_press  按钮图片使用btn_
转载 2023-08-29 20:48:57
44阅读
大家好,我是飞刀,这次我来讲一下生成Adapter类和布局文件的功能。首先打开界面看一下:首行的配置和前面的Activity和Fragment的一样。输入框是左右两个,第一个是ListView和GridView的Adapter,第二个是RecyclerView的Adapter。左边输入“关注”,点击生成,看看结果:输出框生成了Adapter的类名:FocusOnAdapter工程中生成了Adapt
概述: SDK工具提供了代码模板以便我们通过基本架构或者添加组件到已存在的APP模块来快速的创建Android APP工程. 代码模板通过Android SDK提供, 它符合Android设计和开发原则, 让我们可以按照模板的风格创建出漂亮功能强大的APP. 有几种不同的Android代码模板, 它们可以创建任何东西, 从一整个APP到指定的APP组件都可以. 主要的代码模板有这几种:l&nbsp
转载 2023-05-23 20:10:49
44阅读
在用Eclipse时候,你可以进行设置,设置成不管你输入任何字母,都能进行代码的提示,在Android Studio中也可以设置,而且比Eclipse设置来的简单。当然如果你觉得代码自动提示会降低你的代码水平,你也可以不设置,在写代码过程中,如果一时忘记了,你就可以用代码提示的快捷键。android studio代码提示的快捷键是什么呢?看这篇文章:【Android Studi
前言:当安卓学习到三五年的时候,就免不了要学习Frameworks层的代码。一.直接查看sources中的源码sources的方案:使用流程:这种方式是最简单的,sources的位置在Android/sdk/sources/目录中,示例图如下:如果该目录为空,直接使用SDKManager点击下载就可以。 我们的项目中如果配置了对应版本的SDK,比如我sources中有28,29,31,3
       在android项目中,大多数界面布局都是通过.xml文件布局的,少部分情况,或者一些特殊项目的需求会使用到代码动态布局。写这篇博客的目的主要是为了记录自己在项目中经常使用动态布局,偶尔会遇到一些版本适配和布局差异的问题。以此记录,在下次遇到的时候方便查阅。从使用角度来分析,动态布局是要比常规的静态布局(.xml)更为复杂一些,而且限制也比较多
APT(Annotation Processing Tool下面通过一个简单的 View 注入项目 ViewFinder 来介绍 APT 相关内容,简单实现了类似于ButterKnife 中的两种注解 @BindView 和 @OnClick项目地址:https://github.com/brucezz/ViewFinder大概项目结构如
转载 2023-07-30 20:51:10
64阅读
第二十二章、享元模式享元模式是结构型设计模式之中的一个。是对对象池的一种实现。就像它的名字一样,共享对象。避免反复的创建。我们经常使用的String 就是使用了共享模式。所以String类型的对象创建后就不可改变,假设当两个String对象所包括的内容同样时,JVM仅仅创建一个String对象相应这两个不同的对象引用。1.定义採用一个共享来避免大量拥有同样内容对象的开销。使用享元模式可有效支持大量
1、XAppDbg XAppDbg是一个可以在运行中改变代码中参数的一个应用开发工具。这个工具可以为你省下大量的时间,因为你不用为应用的每次小改变而重新编译运行你的程序。 2、ChkBugReport 这个工具可以快速地检查输出的Android错误报告。它从Android错误报告工具输出的大量文本文件中进行语义分析,然后解析成一个更具有可读性的文档,分析起来更加容易。ChkBugReport也
转载 2023-08-17 16:37:22
0阅读
最近新了一个架构,之前用dagger2时候,每当添加新activity还要修改或者新建component来完成dagger的注入。用了apt以后,在activity上标注一个注解就可以了。本文章用最简单的方法最直白的话 来搭建一个简单的apt编译时期生成代码首先是新建一个android项目。就不说了然后然后是新建立一个java的Module。注意是javalib。这个lib用来专门写注解就好。为啥
转载 2023-07-01 19:08:56
59阅读
这个总结比较晚了,快相隔一年了,总想挤点什么出来写一下,一方面是避免让自己懒下来,另一方面也是迫使自己复盘,思考这个过程中哪些地方做得还Ok,哪些地方做的不好。不少公司初期的项目为了快速和低成本开发产品,一开始可能会找外包或者开发能力一般的开发人员来完成,等公司业务上去了,这时候也欠了一屁股的技术债,很幸运,我刚好就当了一回接盘侠。初接手项目,闻到坏代码的味道,不要急于作出改变,重构是一件需要
转载 2023-07-10 23:52:18
32阅读
  • 1
  • 2
  • 3
  • 4
  • 5