I want to modify the core applications like Settings.apk and install on my own android phone.I don't want to publish it on market. I have following doubts
Where can I get source code for core applications?
What are the things I need to do this?
Please tell me steps to do this.
You can get the source code here: https://android.googlesource.com
Keep in mind that the packages there might not be the ones on your phone as each vendor can provide a replacement of their own, the Camera for instance is almost never the google app.
You will also have to decide which version you want since each OS version has revisions that take advantage of newer API's etc.
As far as what you need pretty much the same thing you need to build android apps, eclipse, the sdk, tools etc. http://developer.android.com
You will of course have to remove the application from your phone before installing the new one since your signing certificate will not match. There can be difficulties when you swap out your own version so be sure to save the original.
Related
I want to add a custom OTA application to AOSP Settings placed in packages/apps/settings to manage updates in client side. I need to know how I can do this technically. If you know any opensource project or technical example, please refer to them.
I know how it is technically must be done, but I need a few live codes to learn it in practice.
I found the Updater package in Lineage OS project, and found it interesting. Anyone who wants to learn more about embedded OTA packages, is recommended to take a look at this package.
https://github.com/LineageOS/android_packages_apps_Updater
It can be easily integrated with AOSP project and has a standard structure of code.
I know that Flash has been abandoned on the Android platform. But for a special reason, I still need to use Flash (SWF file) on an application that is used internally. So, now is there a way to make my application play Flash(has ActionScript) without installing other APK?
The minimum version of the target device is Android 4.4 (API 19)
Thanks a lot.
I was investigating same thing recently. Adobe AIR seems to be able to do it so I was pretty sure it's possible. After quite a lot of googling I found some useful info and proof of concept on some Chinese website (unfortunately it's already down :( ).
Fortunately they also linked a Github repository with that example. I was able to fork it and add some instructions about which files do you need to update if you want to use latest AIR SDK or see flash traces.
So there you go. You can use SWF file in your Android app (on new Intent) through AIR-runtime, without installing other APK:
android-invoke-adobe-AIR
There's one problem tho. You can pass some parameters from Java to AS3, but I couldn't find easy way for communicating between them later on. In AIR you could do that via ANE's and I was trying to extract some APKs to see how it works, but no luck. I did end up using socket communication (it's on feature/SocketConnection branch).
Hope you find it usefull.
Ok, it's clear by question heading that I want to create android apps with HTML,CSS and JS. I know them very well and I just don't want to use SDK it's bulky, hard to understand and not User friendly just like other google products.
I have read this and many more articles but they lack when someone asks:
Can I Do it without that SDK?
So whilst you can easily code your entire project just using notepad,
compilation will need the Android SDK.
I just want to do it online or by installing a less bulky software that just packs my app in apk (like a zip). I know it's too much but if someone know how to do this exactly.
I'm pretty sure you need to use some Java to give your Android app functionality. JavaScript might work, but it depends on what exactly you want to do.
You also need other SDK tools to create APK packages. You could build your own tools to do that, since APKs aren't black magic (fortunately), but it would be tedious, cumbersome and fragile.
It's a lot easier to use an SDK to me.
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
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.
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.
(Sorry for my english)
I'm new using Android (in fact, I'm just testing android) and I have a lot of questions...
Well, let me explain you the situation. In this moment, in my job, I am writing my code with C# and run it on Windows Mobile 6, the apps are used to make sales, send bills, reserves, etc. The devices (iPAQ 216) are given to the salesmen, and they must use the apps and update them via internet.
Each salesman have a unique client list, unique data and (in some cases) an unique set of apps, which means that I need to prepare a different package for each salesman. Using a Microsoft tool (cabwiz) I can prepare automaticaly a different package for each one of the 150 salesmen. They download their specific package using a tool wirtten by me, and install it and everyone is very happy (maybe)...
Is that possible in Android? How? and if it is not possible, do you know an idea how to accomplish somewhat like that...?
It's not going to be as easy as cabwiz, I can tell you that. But it would be possible, theoretically, to write a script that modifies/generates the unique portions of the source and then compiles a new copy for each user.
If the only difference between the apps is the data on them, then there is no need to generate a different package for each user: have the app download the data from your server and save it after the app is installed. You could also make some modules (I can only guess what kind of functionality you're talking about with regards to different apps per user) only accessible to particular users.
Yes, it's possible however:
You may want to look into writing in java rather than C# as that's more officially supported on android
There are some limitations of the android APIs, in particular there are basic behaviors of the device that can't be altered - without rooting there's no equivalent to the "hook" functionality of windows.
Make sure you get devices with the menu option to enable installation of applications from 'unknown sources'; otherwise deployment will be a lot more difficult. At that moment, this amounts to avoiding AT&T, as their devices presently confine you to the android market or physical connection to a machine running the developer tools as distribution channels. (As a work around you can upload your apps to the market and not publish them, though that won't fully keep them private unless you also include something to require authorization when they run. You could also install the minimal set of dev tools on the salesmens' laptops)
You will probably want to learn about the command-line application build tools and scripting in order to generate a custom apk for each salesman. Once the devices are set to allow unknown sources, you should be able to email the salesman the apk (or a link to it) as an attachment. You should also be able to make the custom apk refuse to run except on a device matching some fingerprint data you've previously collected. While you can develop for android under windows, you may want to look into switching to linux in order to make some of this scripting a little more natively elegant.