What is the launcher activity of Google Keep called? I thought a short Google search would help, but apparently not.
1 Answers
How to find the activity?
Activities are listed in the .apk
file's Manifest
. This is e.g. explained in Run Android Application from Command Line. The linked page gives a short example:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.iftitah.android.contact">
<application android:icon="@drawable/icon">
<activity class=".Contact" android:label="@string/app_name">
<intent-filter>
<action android:value="android.intent.action.MAIN" />
<category android:value="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
.
.
</manifest>
The activity is listed in the <activity>
element, which also holds the intent to be called (in the contained <action>
element).
How to investigate the Manifest
?
Now for the tricky part, as we are no developers: How to view the Manifest
? Luckily, we can get some help from the Playstore for this -- e.g. in the form of an app called App Detective:
App Detective and AppExplore (Source: Google Playstore; click images to enlarge)
As you can see in above screenshot, this app allows the user to investigate the Manifest
files of installed apps, but does not stop at this. Ressources, libraries, signatures, and more can be looked up.
Alternatives worth mentioning are the ManifestViewer and the AppExplore. Pick your choice :)
So what is the main activity of Google Keep?
Using above "investigation methods", Kevin figured out it is com.google.android.keep.BrowserActivity
(see below comment if you don't believe me ;)
-
Wow thanks! Two questions though: How does it read the manifest? Does it just know how to decode it, or does it just compile all the properties of the app into a manifest that is functionally the same as the original? The second is: I can just load App Detective and Keep onto a JB emulator, right? – KevinOrr Mar 24 '13 at 14:45
-
First: I don't know, but I'd say it decodes and reads it (no secret in the format). Second: I never used an Android emulator, but I'd say it should do, yes. – Izzy Mar 24 '13 at 14:46
-
1The
AndroidManifest.xml
is binary encoded on generation of the apk, the format of the binary version is "difficult" to analyze and parse, fortunately for Android, since the AOSP source is available, some took pain to read the original source to try reverse engineer it. After running tools like this on a binary encoded version, is not guaranteed to be identical to the one that the original developer used. :) – t0mm13b Mar 24 '13 at 14:49 -
Which reminds me of: "Open Source" != "Fully Documented". Thanks for the insights, @t0mm13b! – Izzy Mar 24 '13 at 14:51
-
@Izzy that's true.... for some reason, the encoding of the Manifest was done at the C++ level using very long-winded "code" that sorts of resembles peering inside a Microsoft Excel/Word document which is in a proprietary format! I suspect, its to keep down the overheads of including a bulky xml file or to obscure it... who knows :) – t0mm13b Mar 24 '13 at 14:55
-
Yay! I installed both Google Keep and App Detective on the emulator and it worked flawlessly! In case you were wondering by any chance the launcher activity for Google Keep is
com.google.android.keep.BrowserActivity
. – KevinOrr Mar 24 '13 at 18:45 -
1Thank you for the feedback, @KevinOrr! That makes the answer complete -- so I compiled it into my text :) – Izzy Mar 24 '13 at 18:50
Manifest
. I guess your intention is to start this activity from command line? – Izzy Mar 24 '13 at 13:13