Wednesday, July 4, 2012

Re: [android-developers] Re: how to check API usage information in apk file?

Hello Michael,
I'm just a beginner in Android Application Development. And pardon me if I understood your question incorrectly. But, I suppose you want to check either which API level is there or you want to check which function call did the developer make to achieve some task.

For both of them, you could sure decompile the APK and view the source code, understand it and fetch the information you need.

Now, if you want to read the .java source code directly, there are some tool you will need. Just follow the steps below carefully.

1) If you are using windows based OS, you will need to rename that APK extension to .zip. And extract that file. If you're using Linux, that APK file should automatically appear for extraction in packages like "File Roller".

2) After extraction, there should be file with the extension .dex, which is Dalvik VM Dex file. You will need a tool called "Dex2Jar" to convert it into JAR file format. I can't provide you that cause I don't know which OS you're using. But as per your OS you could google it and I reckon finding it should be hard.

3) After conversion to JAR file format, you will need "Java Decompiler" to view them as java files directly. This way you could view the source code directly and try to understand which function or method did they use.

4) Of course, from above all steps, you won't be able to understand the entry point of the application because you won't be able to view the XML file yet.
For viewing the XML file you will need "APKTOOL". I suspect for the beginners it is tough, so I'll explain it in more detail.
Apktool need to be input /system/framework/framework-res.apk file first. Know the maxsdkversion of that apk file, suppose its 15 then start Android Emulator with Android 4.0.3 and pull that file from adb.
Give that framework-res.apk file as its input by....
`apktool if framework-res.apk`
and then
`apktool d YOUR_APK_FILENAME_HERE.apk`

it will extract that apk file in smali codes and viewable XML file format. Again, this XML files are necessary to view the entry point into that application such as manifest.xml and UI from layout file.

I hope that will fill your needs.

regards,
Rushyang Darji
rushyangdarji@gmail.com



On Thu, Jul 5, 2012 at 1:40 AM, M <xuetao.wei@gmail.com> wrote:
no, I mean what api calls are used by one andorid app?

Any method to obtain such information from apk file?

Thanks.

On Jun 19, 5:53 pm, Kristopher Micinski <krismicin...@gmail.com>
wrote:
> what APIs do you mean?  It uses the Android API, most likely ... Do
> you mean what API *level*?
>
> kris
>
>
>
> On Tue, Jun 19, 2012 at 8:34 PM, michael <xuetao....@gmail.com> wrote:
> > Hi, all,
>
> > Given an apk file, how to check what APIs are used by this apk file?
>
> > Thanks.
>
> > --
> > You received this message because you are subscribed to the Google
> > Groups "Android Developers" group.
> > To post to this group, send email to android-developers@googlegroups.com
> > To unsubscribe from this group, send email to
> > android-developers+unsubscribe@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/android-developers?hl=en

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment