Turner Hayes
Turner Hayes

Reputation: 1944

Use Android framework from console apps

I have a feeling I know the answer to this question, but I figure I would see what SO had to say.

I'm hoping to create a console app that can take an .apk file and extract metadata (such as version name/version number). I'm able to use PackageManager.getPackageArchiveInfo() from my Android app just fine, but I'd need to be able to call it from the command line. However, the classes in the android.jar appear to just be stubs, so it doesn't end up working.

Does anyone know of a way to do that?

Upvotes: 0

Views: 159

Answers (2)

Nick Campion
Nick Campion

Reputation: 10479

For apks for which you do not have the signing certificate, you cannot access the contents of the apk beyond seeing that the contents exist.

As you noted, the android.jar is stubs. This is because the android system relies on native code which is designed to run on ARM processors and (probably) wouldn't run on your system. So, they package stub versions of all the java code and the only way to 'run' the actual library is to be executing in a vm with a full version of the android.jar, which would be an ARM environment ( a real handset or a emulator).

There could be ways to setup a 'console' app to do this, but it would have to be communicating with an Android VM to get a working version of the android.jar. I'm guessing that might be more effort than you'd want to sink into this.

Upvotes: 1

paulsm4
paulsm4

Reputation: 121799

I was able to open the .apk file and view it's contents (including AndroidManifest.xml) with WinZip...

'Hope that helps...

Upvotes: 0

Related Questions