1

Okay, here's where I'm at. I used Eclipse to import the code for the SMS/MMS app that is on Android devices. The code on GitHub is at https://github.com/android/platform_packages_apps_mms.git. I used the Import -> Git in Eclipse. Got the code into the environment. Had to manually paste the AndroidManifest.xml file into the project, and also copy over source and resource directories.

Basically, I want to get the Eclipse project to a point where I can run it on my device and it behaves JUST like the built-in app. THEN, I can modify it for my specific needs hopefully. I don't want to have to write all the SMS/MMS functionality from scratch if I can avoid it.

NOW, the problem is: A LOT of unresolveds. I keep reading various places where people are saying that some of the packages aren't REALLY in the SDK and are internal... Why the heck call it an "open source platform" when the source isn't available for the built-in apps that Google provides?! (If this is in fact the case). Further, why would they provide the code on GitHub for the MMS app if in fact not all the code is available and you can't compile it? Seems a little ridiculous to me.

I have read some answers to previous posts where I was just sticking my "toes into the water" so to speak, and people are saying that a lot of these packages are part of the firmware? Seems like there should be some base code for a texting/mms app out there somewhere.

Anyone know of any? (Open source, free, SMS/MMS Android code that I can easily obtain and that don't suck, if in fact I can't use Google's code?)

Thanks,

John

Ginzorf
  • 769
  • 11
  • 19
  • Have you checked if it's not a submodule problem? Try to run `git submodule update` on the project folder or clone with `--recursive` flag http://stackoverflow.com/questions/3796927/how-to-git-clone-including-submodules – Ricardo Souza Jul 04 '12 at 21:43

2 Answers2

2

Mms as well as other system apps use private or hidden APIs that are not available through the SDK.

This has nothing to do with not being an open source platform, as you mentioned, but with the fact that you are trying to build the application in a way that is not supported and nobody says it was.

If you want to modify and build Mms, do it as part of the firmware build, using make, not importing the project to be built by the SDK in Eclipse.

Diego Torres Milano
  • 65,697
  • 9
  • 111
  • 134
  • 2
    And note that the resulting APK will only necessarily run on the version of Android whose firmware you built. – CommonsWare Jul 04 '12 at 21:51
  • Out of curiosity, why are there so many SMS/MMS replacement apps out there (such as ChompSMS and GoSMS) if you can't access the built in API's? What are they using? – The Holo Dev Jul 05 '12 at 04:40
  • @TheHoloDev - I suspect they are using the basic SMS/MMS APIs that Google *does* provide. However, you have to literally reinvent the wheel it seems. – Ginzorf Jul 11 '12 at 18:55
-2

The stock MMS app built into a device's original firmware, signed with a private key, and is able to use some private API. Third party apps can't use the private API for various reasons, one being security. All the source is open if you wish to view it.

You can definitely build your own firmware, or ROM, as some call it, and run your own modified MMS app on it.

I don't know if you can make and install your own MMS app. You can find out by looking through the Play Store for similar apps or looking at the Android developer documentation to see what permissions and API are provided to third party apps.

user1493941
  • 227
  • 1
  • 5
  • all apps on google play are signed. and you don't have to build your own firmware or rom just to access hidden apis, all you need to do is make some adjustments to your sdk, but it is a bad idea. – vikki Jul 16 '12 at 04:57