CN111708691B - 一种基于安卓平台的Fingerprint自动适配方法与设备 - Google Patents

一种基于安卓平台的Fingerprint自动适配方法与设备 Download PDF

Info

Publication number
CN111708691B
CN111708691B CN202010469882.1A CN202010469882A CN111708691B CN 111708691 B CN111708691 B CN 111708691B CN 202010469882 A CN202010469882 A CN 202010469882A CN 111708691 B CN111708691 B CN 111708691B
Authority
CN
China
Prior art keywords
finger
adaptation
android
service
adaptation service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010469882.1A
Other languages
English (en)
Other versions
CN111708691A (zh
Inventor
齐军
吴小辉
杜军红
汤肖迅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Longcheer Technology Co Ltd
Original Assignee
Shanghai Longcheer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Longcheer Technology Co Ltd filed Critical Shanghai Longcheer Technology Co Ltd
Priority to CN202010469882.1A priority Critical patent/CN111708691B/zh
Publication of CN111708691A publication Critical patent/CN111708691A/zh
Application granted granted Critical
Publication of CN111708691B publication Critical patent/CN111708691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

本申请的目的是提供一种基于安卓平台的Fingerprint自动适配方法与设备。本申请提供的方案中,安卓系统的init进程在运行过程中会自动解析自定义rc脚本,注册Fingerprint适配服务,而后通过执行所述自定义rc脚本启动所述Fingerprint适配服务,触发Fingerprint自动适配。与现有技术相比,本申请使得安卓平台的厂商可以将发往多个国家地区的多个ROM版本软件合成一个,提升了工作效率,节省了研发人员验证多个版本所花费的时间,极大的节省了软硬件测试资源,节省了厂商进行版本切换的成本。

Description

一种基于安卓平台的Fingerprint自动适配方法与设备
技术领域
本申请涉及信息技术领域,尤其涉及一种基于安卓平台的Fingerprint自动适配的技术。
背景技术
针对集成了GMS(GoogleMobile Service,谷歌移动服务)销往多个国家地区的基于安卓平台的产品,谷歌公司对于不同的国家地区有不同协议。其中,不同的国家地区主要可分为EEA(European Economic Area,欧盟经济区)、RU(俄罗斯)及其他地区,例如EEA地区使用的是EMADA协议(European Mobile Application Distribution Agreement,欧盟区移动应用软件分发协议)。谷歌公司要求安卓平台的厂商针对这三类地区发布不同的ROM(Read Only Memory,只读存储器)版本软件,使用不同的Fingerprint(软件Fingerprint由产品信息、硬件配置、出厂日期等信息组成,为软件的唯一标志),同时要求每个版本都要通过CTS(Compatibility Test Suite,兼容性测试套件)、GTS(Google Mobile ServicesTest Suite,谷歌移动服务测试套件)等测试,出多份测试报告。现有的技术是针对每个国家地区发布一版软件,这样将会造成软件版本发布过多,需要对不同的版本进行测试验证,同时还要对不同的版本进行CTS、GTS等测试、生产预试制等,导致厂商投入过多资源进行开发测试,给研发人员增加了工作负担,而且还容易出错,在多个版本进行切换也增加了厂商的成本,造成了资源的不必要浪费。
发明内容
本申请的一个目的是提供一种基于安卓平台的Fingerprint自动适配方法与设备。
根据本申请的一个方面,提供了一种基于安卓平台的Fingerprint自动适配方法,其中,所述方法包括:
在init进程的运行过程中,解析自定义rc脚本,注册Fingerprint适配服务;
启动所述Fingerprint适配服务,触发Fingerprint自动适配。
根据本申请的另一个方面,还提供了一种基于安卓平台的Fingerprint自动适配设备,其中,所述设备包括:
注册模块,用于在init进程的运行过程中,解析自定义rc脚本,注册Fingerprint适配服务;
启动模块,用于启动所述Fingerprint适配服务,触发Fingerprint自动适配。
根据本申请的又一个方面,还提供了一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的基于安卓平台的Fingerprint自动适配方法。
根据本申请的又一个方面,还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现所述的基于安卓平台的Fingerprint自动适配方法。
本申请提供的方案中,安卓系统的init进程在运行过程中会自动解析自定义rc脚本,注册Fingerprint适配服务,而后通过执行所述自定义rc脚本启动所述Fingerprint适配服务,触发Fingerprint自动适配。与现有技术相比,本申请使得安卓平台的厂商可以将发往多个国家地区的多个ROM版本软件合成一个,提升了工作效率,节省了研发人员验证多个版本所花费的时间,极大的节省了软硬件测试资源,节省了厂商进行版本切换的成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其他特征、目的和优点将会变得更明显:
图1是根据本申请实施例的一种基于安卓平台的Fingerprint自动适配方法流程图;
图2是一种安卓系统中两个分区的结构示意图;
图3是根据本申请实施例的一种基于安卓平台的Fingerprint自动适配设备示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
为解决安卓平台的厂商需要针对不同国家地区发布多个ROM(Read Only Memory,只读存储器)版本软件的问题,将发往多个国家地区的多个ROM版本软件合成一个,主要的技术难点在于Fingerprint自动适配;其中,软件Fingerprint由产品信息、硬件配置、出厂日期等信息组成,为软件的唯一标志。
CTS(Compatibility Test Suite,兼容性测试套件)、GTS(Google MobileServices Test Suite,谷歌移动服务测试套件)等测试使用的Fingerprint属性为ro.vendor.build.fingerprint,在Android Q(谷歌公司推出的第10代安卓操作系统)推出之前,一种可采用的技术方案是在init进程(它是一个由内核启动的用户级进程,当安卓系统的Linux内核启动之后,运行的第一个进程是init)中对属性进行初始化时,对Fingerprint进行动态拼接。在Android Q推出之后,CTS、GTS等测试增加了使用GSI(GoogleSystem Image,通用系统映像)的测试项,而init进程运行在安卓系统的System分区(如图2所示,安卓系统包括System分区和Vendor分区)中,使用GSI测试项之后,init进程对于Fingerprint的修改会被GSI覆盖,使得安卓设备中的Fingerprint是由GSI定义的,那么前述对Fingerprint进行动态拼接的技术方案不再适用于Android Q操作系统。
本申请实施例提供了基于安卓平台的Fingerprint自动适配方法,移除Fingerprint初始定义,并将Fingerprint的自动适配实现在安卓系统的Vendor分区中。本方案既可适用于Android Q之前的安卓操作系统,亦可适用于Android Q操作系统,也可能适用于Android Q之后的安卓操作系统。使用本方案之后,安卓平台的厂商不用再针对不同国家地区发布多个ROM版本软件,减少版本出错的可能性,提升了工作效率;研发人员不再需要对多个版本进行问题验证,可以节省验证时间;极大的节省了软硬件测试资源,节省了厂商进行版本切换的成本。
在实际场景中,执行该方法的设备可以是用户设备、网络设备或者用户设备与网络设备通过网络相集成所构成的设备。其中,所述用户设备包括但不限于智能手机、平板电脑、个人计算机(PC)等终端设备,所述网络设备包括但不限于网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。
图1是根据本申请实施例的一种基于安卓平台的Fingerprint自动适配方法流程图,该方法包括步骤S101和步骤S102。
步骤S101,在init进程的运行过程中,解析自定义rc脚本,注册Fingerprint适配服务。
例如,安卓系统的init进程(它是一个由内核启动的用户级进程,当安卓系统的Linux内核启动之后,运行的第一个进程是init)在运行过程中会自动解析所有rc脚本(它是安卓系统的初始化脚本,通过init进程来执行),通过执行所述自定义rc脚本注册所述Fingerprint适配服务。
在一个实施例中,所述Fingerprint适配服务对应的bin文件放置于安卓系统的Vendor分区。例如,如图2所示,安卓(Android)系统包括System分区和Vendor分区,本实施例将Fingerprint适配功能移植到Vendor分区中,定义一个rc脚本(即所述自定义rc脚本)来启动Fingerprint适配服务,将所述Fingerprint适配服务对应的bin文件(二进制文件)放置在安卓系统的vendor/bin目录下,从而可以将Fingerprint的自动适配实现在Vendor分区中。由于Vendor分区不会被GSI(Google System Image,通用系统映像)覆盖,因此本方案可以适用于Android Q操作系统。
在一个实施例中,注册Fingerprint适配服务,包括:注册Fingerprint适配服务并定义Fingerprint动态变化的条件。所述Fingerprint动态变化的条件包括:地区信息、硬件信息、产品信息等等,根据这些条件定义多个Fingerprint。例如,欧盟区Fingerprint中可以添加EU(European Union)等字段,而俄罗斯地区Fingerprint中可以添加RU(Russian)作为区别。
步骤S102,启动所述Fingerprint适配服务,触发Fingerprint自动适配。
例如,可以通过执行所述自定义rc脚本启动所述Fingerprint适配服务。
在一个实施例中,启动所述Fingerprint适配服务,触发Fingerprint自动适配,包括:启动所述Fingerprint适配服务,根据地区信息设置触发所述Fingerprint动态变化的条件,触发Fingerprint自动适配。例如,在开机init阶段,系统会去识别产品信息、地区信息等,根据这些信息在所述步骤S101中定义的多个Fingerprint中选取合适的Fingerprint作为产品的Fingerprint。
图3是根据本申请实施例的一种基于安卓平台的Fingerprint自动适配设备示意图,该Fingerprint自动适配设备包括注册模块301和启动模块302。
注册模块301,在init进程的运行过程中,解析自定义rc脚本,注册Fingerprint适配服务。
例如,安卓系统的init进程(它是一个由内核启动的用户级进程,当安卓系统的Linux内核启动之后,运行的第一个进程是init)在运行过程中会自动解析所有rc脚本(它是安卓系统的初始化脚本,通过init进程来执行),通过执行所述自定义rc脚本注册所述Fingerprint适配服务。
在一个实施例中,所述Fingerprint适配服务对应的bin文件放置于安卓系统的Vendor分区。例如,如图2所示,安卓(Android)系统包括System分区和Vendor分区,本实施例将Fingerprint适配功能移植到Vendor分区中,定义一个rc脚本(即所述自定义rc脚本)来启动Fingerprint适配服务,将所述Fingerprint适配服务对应的bin文件(二进制文件)放置在安卓系统的vendor/bin目录下,从而可以将Fingerprint的自动适配实现在Vendor分区中。由于Vendor分区不会被GSI(Google System Image,通用系统映像)覆盖,因此本方案可以适用于Android Q操作系统。
在一个实施例中,所述注册模块301注册Fingerprint适配服务并定义Fingerprint动态变化的条件。所述Fingerprint动态变化的条件包括:地区信息、硬件信息、产品信息等等,根据这些条件定义多个Fingerprint。例如,欧盟区Fingerprint中可以添加EU(European Union)等字段,而俄罗斯地区Fingerprint中可以添加RU(Russian)作为区别。
启动模块302,启动所述Fingerprint适配服务,触发Fingerprint自动适配。
例如,可以通过执行所述自定义rc脚本启动所述Fingerprint适配服务。
在一个实施例中,所述启动模块302启动所述Fingerprint适配服务,根据地区信息设置触发所述Fingerprint动态变化的条件,触发Fingerprint自动适配。例如,在开机init阶段,系统会去识别产品信息、地区信息等,根据这些信息在所述注册模块301定义的多个Fingerprint中选取合适的Fingerprint作为产品的Fingerprint。
综上所述,本申请实施例提供的方案可以实现Fingerprint自动适配,使得安卓平台的厂商可以将发往多个国家地区的多个ROM版本软件合成一个,提升了工作效率,节省了研发人员验证多个版本所花费的时间,极大的节省了软硬件测试资源,节省了厂商进行版本切换的成本。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据程序指令运行的计算机设备的工作存储器中。在此,本申请的一些实施例提供了一种计算设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行前述本申请的多个实施例的方法和/或技术方案。
此外,本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (4)

1.一种基于安卓平台的Fingerprint自动适配方法,其中,所述方法包括:
在init进程的运行过程中,解析自定义rc脚本,注册Fingerprint适配服务并定义Fingerprint动态变化的条件,其中,所述Fingerprint适配服务对应的bin文件放置于安卓系统的Vendor分区;
启动所述Fingerprint适配服务,根据地区信息设置触发所述Fingerprint动态变化的条件,触发Fingerprint自动适配。
2.一种基于安卓平台的Fingerprint自动适配设备,其中,所述设备包括:
注册模块,用于在init进程的运行过程中,解析自定义rc脚本,注册Fingerprint适配服务并定义Fingerprint动态变化的条件,其中,所述Fingerprint适配服务对应的bin文件放置于安卓系统的Vendor分区;
启动模块,用于启动所述Fingerprint适配服务,根据地区信息设置触发所述Fingerprint动态变化的条件,触发Fingerprint自动适配。
3.一种计算设备,其中,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1所述的方法。
4.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1所述的方法。
CN202010469882.1A 2020-05-28 2020-05-28 一种基于安卓平台的Fingerprint自动适配方法与设备 Active CN111708691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010469882.1A CN111708691B (zh) 2020-05-28 2020-05-28 一种基于安卓平台的Fingerprint自动适配方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010469882.1A CN111708691B (zh) 2020-05-28 2020-05-28 一种基于安卓平台的Fingerprint自动适配方法与设备

Publications (2)

Publication Number Publication Date
CN111708691A CN111708691A (zh) 2020-09-25
CN111708691B true CN111708691B (zh) 2024-04-09

Family

ID=72537037

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010469882.1A Active CN111708691B (zh) 2020-05-28 2020-05-28 一种基于安卓平台的Fingerprint自动适配方法与设备

Country Status (1)

Country Link
CN (1) CN111708691B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2284751A1 (fr) * 2009-07-08 2011-02-16 Societé Française du Radiotéléphone Procédé de traçabilité et d'imputabilité dynamiques des échanges dans un environnement ouvert de type Internet
WO2012138046A1 (ko) * 2011-04-04 2012-10-11 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
CN106843986A (zh) * 2017-02-15 2017-06-13 福建天晴在线互动科技有限公司 一种移动终端的语言配置方法及系统
CN108319835A (zh) * 2018-01-31 2018-07-24 北京小米移动软件有限公司 用户空间访问控制方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2284751A1 (fr) * 2009-07-08 2011-02-16 Societé Française du Radiotéléphone Procédé de traçabilité et d'imputabilité dynamiques des échanges dans un environnement ouvert de type Internet
WO2012138046A1 (ko) * 2011-04-04 2012-10-11 주식회사 인프라웨어테크놀러지 범용 운영체제 상에서 안드로이드 어플리케이션을 실행하기 위한 단말장치 및 방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
CN106843986A (zh) * 2017-02-15 2017-06-13 福建天晴在线互动科技有限公司 一种移动终端的语言配置方法及系统
CN108319835A (zh) * 2018-01-31 2018-07-24 北京小米移动软件有限公司 用户空间访问控制方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
寇相礼 ; 谭明新 ; 鲍晓琴 ; .Android系统固定MAC地址的方法与实现.电子测量技术.2017,(09),全文. *

Also Published As

Publication number Publication date
CN111708691A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN107122296B (zh) 用于测试接口的数据断言的方法及设备
CN110716845B (zh) 一种Android系统的日志信息读取的方法
CN110362547B (zh) 日志文件的编码、解析、存储方法和装置
CN110806971A (zh) 一种版本测试方法、装置及电子设备
CN110955409B (zh) 在云平台上创建资源的方法和装置
US9779014B2 (en) Resilient mock object creation for unit testing
CN112596857A (zh) 一种SaaS多租户数据隔离的方法、装置、设备及介质
CN109460187B (zh) 一种qcow2文件数据一致性验证方法及验证终端
CN110837446A (zh) 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备
CN113656107A (zh) 移动应用的加载方法、装置及电子设备
CN111708691B (zh) 一种基于安卓平台的Fingerprint自动适配方法与设备
CN108710658B (zh) 一种数据记录的存储方法及装置
CN110471828B (zh) 一种操作系统测试方法、装置及其设备
CN111651177B (zh) 基于安卓平台的写号方法、设备及计算机可读介质
CN114816816A (zh) 崩溃堆栈信息处理方法、装置、设备及存储介质
CN114443375A (zh) 测试方法及装置、电子装置及计算机可读存储介质
CN112486565A (zh) 一种基于容器化的持续集成的方法及设备
CN106681771B (zh) 一种系统重装方法及装置
CN108279939B (zh) 一种Android插件框架支持新增广播接收者的方法、装置及设备
CN116150768B (zh) Docker容器运行状态下漏洞检测方法、系统及设备
CN115729724B (zh) 故障注入方法、故障测试系统、电子设备及可读存储介质
CN113110876A (zh) 基于安卓系统的运行通用软件包的方法与设备
CN117171235B (zh) 基于工业标识的数据解析方法及相关设备
CN112667509B (zh) Sdk的接入测试方法及装置
CN109829268B (zh) 一种确定不同应用的所属终端关联性的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant