Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to run (not only install) an android application using .apk file?

Is there any command on cmd.exe that would allow me to start the main activity of a particular android application using the .apk file of that application. Please note that I know this command which only installs an android application:

adb install myapp.apk 

This command will only install myapp onto the emulator and I have to manually run this application from the emulator (by performing single click on its icon).

What I want to do is use a command which not only installs the application but also starts its main activity (please note that I have only its .apk file so I don't know what the package name or any activity name is).

like image 728
M Azeem N Avatar asked May 24 '11 10:05

M Azeem N


People also ask

How do I run an APK file on my Android?

Just open your browser, find the APK file you want to download, and tap it – you should then be able to see it downloading on the top bar of your device. Once it's downloaded, open Downloads, tap on the APK file and tap Yes when prompted. The app will begin installing on your device.

How can I run Android apps without installing?

With Google Play Instant, people can use an app or game without installing it first. Increase engagement with your Android app or gain more installs by surfacing your instant app across the Play Store and Google Play Games app.

Can I run an APK file directly on a PC without an emulator?

To open APK files on a PC without an emulator, you need to add the ARC Welder extension to your chrome browser. You can get this extension from here. After adding the extension, add APK files and click on 'Launch app'.


1 Answers

You can't install and run in one go - but you can certainly use adb to start your already installed application. Use adb shell am start to fire an intent - you will need to use the correct intent for your application though. A couple of examples:

adb shell am start -a android.intent.action.MAIN -n com.android.settings/.Settings  

will launch Settings, and

adb shell am start -a android.intent.action.MAIN -n com.android.browser/.BrowserActivity  

will launch the Browser. If you want to point the Browser at a particular page, do this

adb shell am start -a android.intent.action.VIEW -n com.android.browser/.BrowserActivity http://www.google.co.uk 

If you don't know the name of the activities in the APK, then do this

aapt d xmltree <path to apk> AndroidManifest.xml 

the output content will includes a section like this:

   E: activity (line=32)     A: android:theme(0x01010000)=@0x7f080000     A: android:label(0x01010001)=@0x7f070000     A: android:name(0x01010003)="com.anonymous.MainWindow"     A: android:launchMode(0x0101001d)=(type 0x10)0x3     A: android:screenOrientation(0x0101001e)=(type 0x10)0x1     A: android:configChanges(0x0101001f)=(type 0x11)0x80     E: intent-filter (line=33)       E: action (line=34)         A: android:name(0x01010003)="android.intent.action.MAIN"         XE: (line=34) 

That tells you the name of the main activity (MainWindow), and you can now run

adb shell am start -a android.intent.action.MAIN -n com.anonymous/.MainWindow 
like image 50
Airsource Ltd Avatar answered Oct 03 '22 11:10

Airsource Ltd