Skip to main content

Resigning APK file for automation Testing

Resigning app means we are signing apk file by same signature as we have in our system.
Why Resign
Sometime for automation of android application, resigning of apk file is required as while working with few automation tools we should have same signature in apk file as well as on the system from which cases need to be triggered
What is resigning?
All apk file holds complete information about developer of that application
For some automation tools, we should have same signature in apk as well as on the system from which cases need to be triggered.
For this first we need to generate debug key on our system and then we need to sign apk file using debug key.

Process to resign an android application
Step 1: Start Debug Mode in phone and connect with system through USB
Step 2: Check device unique code
               Open Command prompt and write adb devices
Step 3: Now place my application apk file in any of the place in your system
Step 4: Open apk file using winrar
Step 5: Delete META-INF folder( This META-INF folder holds sign information)
Step 6: Check .android folder in you Documents and Setting Folder
if debug.keystore file does not exist then generate this file by using following command(Follow Step 7)
Note: this is 1 time effort, once you create this file for 1 system, we need not to create it again
Step 7:  Open command prompt, move to any location where you want to create debug.keystore file and write following command
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -keysize 2048 -validity 20000
Step 8: Enter details & use android as password
Debug.keystore file will be created
Step 9: pick debug.keystore file and place it to .android folder under documents and settings
Step 10: Now we need to resign apk file, to resign apk file, from command prompt move to location where we placed apk file(step3)
Step 11: Write following command
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore “C:\Documents and Settings\tttyagi\.android\debug.keystore” “D:\MobileAutomation\UDD11.7.1.1.apk” androiddebugkey
NOTE
  • Change debug.keystore and apk path as per your location
  • Use android as password

APK is successfully resigned

Comments

Popular posts from this blog

Handling JSON responses in Apache JMeter

There are various types of   post processor elements   that we can use out of the box when handling responses in a JMeter test plan. For example,   Regular Expression Extractor   can be used to capture a specific value or set of values from a XML, HTML or JSON response. However, handling JSON responses through the default regular expression extractor will be a daunting task when the JSON response becomes complex. When handling complex XML responses, Xpath extractor is the obvious choice in JMeter. Similarly, it will be quite efficient to have a similar post processor element to handle complex JSON responses. JSONPath  is a way to extract parts of a given JSON document and is now available in many programming languages. In this simple post, we will look at how we can use JSONPath expressions to extract values from JSON responses in JMeter. Pre-Requisites: Download and install JMeter version 2.8 or later Step 1 Download  this  JMeter plugin libr...

Mobile Performance Testing: Record Script in JMeter

Before we jump to how to do it we need to understand why to do it. Mobile applications can be classified into below types: Native Apps -  Applications downloaded from online market/store and installed on specific device are categorized as native mobile apps. These applications are developed by using specific programming language (like Java for Android and Objective-C for iOS) and device specific API. These applications are static applications and they do not communicate to sever. Games and applications downloaded from app store or market are examples of native apps. Web Apps - Applications accessed through internet on mobile browsers are called mobile web apps. These applications are developed with web technologies like HTML, JQuery and JavaScript. Popular social media applications like Facebook ( http://m.facebook.com ) and Gmail ( http://m.gmail.com ) etc. have their separate mobile based web apps which are very famous among mobile users. Hybrid Apps-  Combination of web...