, 29 7月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 Kotlin安卓开发学习(3) 数据类与单例类 在Java中,数据类占据着重要的角色,其通常需要重写包括 ) 和 mutableMapOf()创建map,不过在Kotlin中,map创建使用 to 连接 K-V:mapOf("Apple" to 1, "Banana" to 2, "Orange" to 3,
对于 Android 端的自动化测试,ADB 的重要性不言而喻,很多开源的自动化框架操作大都是利用 ADB 命令来完成。 下面对 ADB 在平时自动化操作过程中一些问题做一个汇总。 无线连接设备: 无线连接设备需要分 3 步完成。分别是:让 PC 和设备在同一局域网、映射端口、通过 IP 完成连接。 # 映射端口 adb tcpip 端口号 # 通过 IP 地址连接 adb connect 设备IP 3、获取应用包名、入口 Activity 自动化打开目标应用 App 需要应用包名和入口 Activity Activity adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' --color=always 另外一种方式是在安卓应用市场下载目标应用的 activity_name)) # 方式三: os.popen('adb shell am start %s/%s' % (package_name, activity_name)) 5、元素获取 元素获取的方法也有 3
工具特点: 界面化操作; 除了通过xpath定位之外还可以用图像识别进行用例操作; 高大上又实用的测试报告; 缺点: 1.目前支持1台手机,只能在有安装谷歌浏览器进行wap页面自动化操作;
实用方法很简单,在手机上安装这个软件,然后运行,然后进入Setting,点击User's settings,然后Create new user(我新建了一个叫做ACE的用户),注意这里在豌豆荚的截图只是做教程用的,实际不需要连接豌豆荚,甚至不需要WIFI,只要你打开了GPRS
//在方法中调用给edittext赋值 edittext.setText("success"); ... ... } 3.
android:id="@+id/textView" android:layout_gravity="center_horizontal" /> </LinearLayout> 在线程中使用 根据安卓编程规范
是一款可以直接在手机上运行的自动化安卓apk测试工具,它的前身就是android 压力测试工具monkey。 -android12.0系统,没有覆盖很多机型,只覆盖系统,使用之前记得给傻猴所有的运行权限;建议是安装完,通过应用设置来给更多的权限,如后台自动弹出,这个是运行完报告自动弹出的; 本次更新的内容有3点 : 1.解决Android11以上,无法使用,兼容适配到android12; 2.修复了几个闪退的Bug; 3.增加了使用时间,为期1年; 目前已知android11以上适配问题,如选择usb模式在android11
import re import os def get_devices(): """ 获取设备列表 :return: 设备列表 """ devices_inf
——源码地址1: https://android.googlesource.com/
前言 平时进行安卓逆向时,一个常见的场景就是目标把关键逻辑放到 Native 代码中,使用 JNI 接口进行实现。 这对于少量代码来说不是大问题,但显然是一种重复性的劳动,因此我们可以对这个过程进行一定的自动化。 Java_为前缀; 格式化的类名完整路径; 下划线分隔符_; 格式化的函数名称; 对于重载函数,需要加双下划线__并跟着参数签名; 对于特殊的字符需要进行转义,比如_、;和]需要分别转义成_1、_2 和_3等 实现效果 只要有了函数签名信息,就很方便在各种逆向工具中进行自动化处理了,这里选取的是我比较常用的几个逆向工具,Ghidra、IDA 和 Radare2。 JNI 接口的工具,可以在日常安卓逆向时候减少一些重复的劳动。
文章首发于奇安信攻防社区 原文链接:https://forum.butian.net/share/648 一、安卓开发工具 安卓开发工具主要是一些Java开发环境、集成开发环境和安卓开发环境等 1、JDK 在官网直接下载即可,双击安装 安装类型 确认安装 二、安卓逆向工具 这部分介绍的安卓逆向工具是一些用于安卓反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx 四、安卓辅助工具 这部分主要是一些辅助工具,查询信息、是否加壳等。 工具,将apk文件拖入可以查看是否加壳 3、安卓模拟器 如果没有真机做实验的情况下,可以使用安卓模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是安卓模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器 这里介绍几款不错的安卓模拟器。
前些日子,公司安卓应用的魔窗出现问题,需要重新写过。于是,就有了此篇魔窗HelloWord。 填写APP信息: image.png iOS应用的填写先不管,这里讲的是安卓。
首先使电脑和android设备连接同一个网络,然后打开adb命令窗口输入 adb connect ip 点击回车(ip是android设备连接网络后的IP地址),不成功可以先adb root试一下。
今天下午一直在跟安卓调试sentry适配问题。发现了两个问题。现在记录如下: 红米一直安装不上APP 在开发的时候,发现红米一直安装不上APP。 安装页面没有DSN信息 一般在安装页面都会介绍DSN信息,但是安卓病没有提示,顿时不知道这个URL应该去哪找到了,在翻了好久之后,终于找到了位置。
queue2.add(stringRequest); } 3.MyModel. java public class MyModel extends ViewModel { private MutableLiveData
然后在主的界面里面使用Intent的另一个构造函数,直接将action的字符串穿进去
安卓开发需要依赖于 android studio 下载地址:https://developer.android.google.cn/studio/ 入手Demo 1、创建空模板工程 2、找到布局,修改hello world 3、配置虚拟机器的同时,给虚拟设备添加安卓系统 4、启动须虚拟手机,并开机 5、本地App,安装到虚拟手机 安卓项目结构分析 .gradle .idea app 核心目录 gradle
Intent intent) { } 2、插上电池: <receiver android:name="com.itheima.ipcall.OutCallBroadCastReceiver" /> 3、 4.0版本之前没有这样的安全设计 步骤: 1、买个收音机 2、插上电池 3、调整到一个频道 配置文件: <uses-permission android:name="android.permission.RECEIVE_SMS 步骤: 1、买个收音机 2、插上电池 <em>3</em>、调整到一个频道 配置文件: <receiver android:name="com.itheima.sdlistener.SDBroadCastReceiver ", 0).show(); } } } 广播接受者案例_开机启动(重点) 步骤: 1、买个收音机 2、插上电池 3、调整到一个频道 要做的事情:让软件开启后关闭不了: 禁用返回键和最小化键
进程的生命周期: 1、应用程序一启动的时候就创建了进程; 2、当应用程序退出的时候进程并没有退出; 3、只有手工停止这个进程,进程才会结束; 操作系统尽量长时间的运行应用程序的进程,为了保证内从空间不被大量占用 "); r.setOutputFile(Environment.getExternalStorageDirectory()+"/info.3gp"); public class MyBinder extends Binder{ } 2、在服务类里面创建了一个MyBinder的成员变量: private MyBinder myBinder; 3、 new ScreenBroadCastReceiver(); // 2、创建一个intentFilter对象 IntentFilter filter = new IntentFilter(); // 3、 安装在同一个手机上的应用程序); IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言
error in opening zip file 解决办法: 这是因为C:\Users\Skode.gradle\wrapper\dists\gradle-5.1.1-all\97z1ksx6lirer3kbvdnh7jtjg 3、重启AndroidStudio,点击同步按钮。 大家还有什么问题,欢迎在下方留言!