如何获得Android设备名称

如何获得Android设备名称,第1张

我们自己如何来获取设备名称 呢?答案如下:

命令行中输入“adb shell”

进入shell之后,再输入“cat /system/buildprop”

其实,设备信息,主要是存放在“/system/buildprop”文件,通过“cat”命令就可以查看了

下面附上ADB命令的详细介绍

adb 介绍

adb的全称为Android Debug Bridge 调试桥,是连接Android手机与PC端的桥梁,通过adb可以管理、 *** 作模拟器和设备,如安装软件、系统升级、运行shell命令等。

管理设备

注:android手机、模拟器统一称为“设备”

adb devices // 显示连接到计算机的设备

adb get-serialno // 获取设备的ID和序列号serialNumber

------------------重启----------------------------------------------

adb reboot // 重启设备

adb reboot bootloader // 重启到bootloader,即刷机模式

adb reboot recovery // 重启到recovery,即恢复模式

------------------发送命令到设备--------------------------------------

adb [-d|-e|-s <serialNumber>] <command>

-d 发送命令给usb连接的设备

-e 发送命令到模拟器设备

-s <serialNumber> 发送命令到指定设备

adb相关

adb kill-server // 终止adb服务进程

adb start-server // 重启adb服务进程

adb root // 已root权限重启adb服务

adb wait-for-device // 在模拟器/设备连接之前把命令转载在adb的命令器中

获取设备硬件信息

adb shell cat /sys/class/net/wlan0/address // 获取mac地址

adb shell cat /proc/cpuinfo // 获取cpu序列号

管理设备app

aapt d badging <apkfile> // 获取apk的packagename 和 classname

------------------安装----------------------------------------------

adb install <apkfile> // 安装apk

adb install -r <apkfile> // 保留数据和缓存文件,重新安装apk,

adb install -s <apkfile> // 安装apk到sd卡

------------------卸载----------------------------------------------

adb uninstall <package> // 卸载app

adb uninstall -k <package> // 卸载app但保留数据和缓存文件

------------------启动app-------------------------------------------

adb shell am start -n <package_name>/<activity_class_name> // 启动应用

------------------查看内存占用----------------------------------------

adb shell top // 查看设备cpu和内存占用情况

adb shell top -m 6 // 查看占用内存前6的app

adb shell top -n 1 // 刷新一次内存信息,然后返回

adb shell procrank // 查询各进程内存使用情况

adb shell kill [pid] // 杀死一个进程

adb shell ps // 查看进程列表

adb shell ps -x [PID] // 查看指定进程状态

adb shell service list // 查看后台services信息

adb shell cat /proc/meminfo // 查看当前内存占用

adb shell cat /proc/iomem // 查看IO内存分区

文件 *** 作

//android中,sdcard代表内置存储,不同系统中tf卡的设备名可能不同,使用查看adb shell ls mnt查看所有存储设备名。

adb remount // 将system分区重新挂载为可读写分区

adb push <local> <remote> // 从本地复制文件到设备

adb pull <remote> <local> // 从设备复制文件到本地

adb shell ls // 列出目录下的文件和文件夹,等同于dos中的dir命令

adb shell cd <folder> // 进入文件夹,等同于dos中的cd 命令

adb shell rename path/oldfilename path/newfilename // 重命名文件

adb shell rm /system/aviapk // 删除system/aviapk

adb shell rm -r <folder> // 删除文件夹及其下面所有文件

adb shell mv path/file newpath/file // 移动文件

adb shell chmod 777 /system/fonts/DroidSansFallbackttf // 设置文件权限

adb shell mkdir path/foldelname // 新建文件夹

adb shell cat <file> // 查看文件内容

方法步骤(以安卓50为例)一、依次点击设定---关于设备---状态。二、现在可以看到安卓设备的IMEI(国际移动设备识别码)唯一编号。三、或者用手机的拨号键盘输入#06#可以d出IMEI

安卓系统手机的DEVICE ID只要很简单的一个命令就可以查看:

1、点击电话,启动拨号界面,然后输入“##8255##”即可进入GTalk Service Monitor界面了。

GTalk Service Monitor界面

2、红圈圈便是Device ID了。

不过显然的,有些用户比其他人更加偏执一些,可以将这些标识中的一个或者多个进行hash运算就很有用,生成的字符串仍然可以唯一标识该设备,但是不会明确的标识实际的设备。例如,使用StringhashCode(),再加上一个UUID,这里有详细的代码》》

您好,1、打开拨号界面。

2、点击电话,启动拨号界面,然后输入“*#*#8255#*#*”即可进入GTalkServiceMonitor界面了。

扩展资料:

AndroidID用于唯一识别一部设备的一次刷机行为,虽然不能完全确定该设备的唯一性(真的唯一性是用IMEI号的),但是可以很大程度上过滤重复设备。

这是移动互联网广告行业,尤其是CPI广告的基础。设备ID非常重要。CPI广告是根据实际安装数量计费的,广告商可以使用androidid来排除重复安装。传递一个AndroidID直接影响到某些广告是否会被放置在某些位置。

在RTB行业中,有很多提供数据的第三方公司,他们根据AndroidID买卖数据,将各种数据对应给用户。

有很多场景和需求你需要用到手机设备的唯一标识符。例如,略。

在Android中,有以下几种方法获取这样的ID。

1 The IMEI: 仅仅只对Android手机有效:

TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);

String szImei = TelephonyMgrgetDeviceId(); // Requires READ_PHONE_STATE

采用此种方法,需要在AndroidManifestxml中加入一个许可:androidpermissionREAD_PHONE_STATE,并且用户应当允许安装此应用。作为手机来讲,IMEI是唯一的,它应该类似于 359881030314356(除非你有一个没有量产的手机(水货)它可能有无效的IMEI,如:0000000000000)。

2 Pseudo-Unique ID, 这个在任何Android手机中都有效

有一些特殊的情况,一些如平板电脑的设置没有通话功能,或者你不愿加入READ_PHONE_STATE许可。而你仍然想获得唯一序列号之类的东西。这时你可以通过取出ROM版本、制造商、CPU型号、以及其他硬件信息来实现这一点。这样计算出来的ID不是唯一的(因为如果两个手机应用了同样的硬件以及Rom 镜像)。但应当明白的是,出现类似情况的可能性基本可以忽略。要实现这一点,你可以使用Build类:

String m_szDevIDShort = "35" + //we make this look like a valid IMEI

BuildBOARDlength()%10+ BuildBRANDlength()%10 + BuildCPU_ABIlength()%10 + BuildDEVICElength()%10 + BuildDISPLAYlength()%10 + BuildHOSTlength()%10 + BuildIDlength()%10 + BuildMANUFACTURERlength()%10 + BuildMODELlength()%10 + BuildPRODUCTlength()%10 + BuildTAGSlength()%10 + BuildTYPElength()%10 + BuildUSERlength()%10 ; //13 digits

大多数的Build成员都是字符串形式的,我们只取他们的长度信息。我们取到13个数字,并在前面加上“35”。这样这个ID看起来就和15位IMEI一样了。

3 The Android ID , 通常被认为不可信,因为它有时为null。开发文档中说明了:这个ID会改变如果进行了出厂设置。并且,如果某个Andorid手机被Root过的话,这个ID也可以被任意改变。

String m_szAndroidID = SecuregetString(getContentResolver(), SecureANDROID_ID);

Returns: 9774d56d682e549c 无需任何许可。

4 The WLAN MAC Address string, 是另一个唯一ID。但是你需要为你的工程加入androidpermissionACCESS_WIFI_STATE 权限,否则这个地址会为null。

WifiManager wm = (WifiManager)getSystemService(ContextWIFI_SERVICE);

String m_szWLANMAC = wmgetConnectionInfo()getMacAddress();

Returns: 00:11:22:33:44:55 (这不是一个真实的地址。而且这个地址能轻易地被伪造。)WLan不必打开,就可读取些值。

5 The BT MAC Address string, 只在有蓝牙的设备上运行。并且要加入androidpermissionBLUETOOTH 权限

BluetoothAdapter m_BluetoothAdapter = null; // Local Bluetooth adapter

m_BluetoothAdapter = BluetoothAdaptergetDefaultAdapter();

String m_szBTMAC = m_BluetoothAdaptergetAddress();

Returns: 43:25:78:50:93:38 蓝牙没有必要打开,也能读取。

Combined Device ID

综上所述,我们一共有五种方式取得设备的唯一标识。它们中的一些可能会返回null,或者由于硬件缺失、权限问题等获取失败。

但你总能获得至少一个能用。所以,最好的方法就是通过拼接,或者拼接后的计算出的MD5值来产生一个结果。

String m_szLongID = m_szImei + m_szDevIDShort

+ m_szAndroidID+ m_szWLANMAC + m_szBTMAC;

// compute md5

MessageDigest m = null;

try {

m = MessageDigestgetInstance("MD5");

} catch (NoSuchAlgorithmException e) {

eprintStackTrace();

}

mupdate(m_szLongIDgetBytes(),0,m_szLongIDlength());

// get md5 bytes

byte p_md5Data[] = mdigest();

// create a hex string

String m_szUniqueID = new String();

for (int i=0;i<p_md5Datalength;i++) {

int b = (0xFF & p_md5Data[i]);

// if it is a single digit, make sure it have 0 in front (proper padding)

if (b <= 0xF)

m_szUniqueID+="0";

// add number to string

m_szUniqueID+=IntegertoHexString(b);

} // hex string to uppercase

m_szUniqueID = m_szUniqueIDtoUpperCase();

通过以上算法,可产生32位的16进制数据:

9DDDF85AFF0A87974CE4541BD94D5F55

现在你就可以对其进行你的应用了。

以上就是关于如何获得Android设备名称全部的内容,包括:如何获得Android设备名称、Android能够获取到唯一的设备ID吗、如何查看自己安卓手机的Android Device ID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9778642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存