Does anyone know of a service or application that allows me to test an app on multiple system images, automatically? Given the incompatibilities between Sense, TouchWiz, and Motoblur, I find that my app will work fine in the SDK emulator and on my phone/tablet, but will crash horribly on another version of the UI or OS. If not, I'm tempted to crack at making my own, but I'd like to avoid it.
Here is a service that can be useful for you. I did not use it so I cannot tell you about its possibilities. Moreover, some people use different servers like Jenkins to create a test system for their applications but these systems can check applications on different configurations of emulator not real phones.
Related
I have tried to find a solution on this by searching the net for quite some time. If there is a working solution to my question on stackoverflow, it would be nice if someone points me to it.
So problem is very specific:
I like to implement an app updater that installs apps without any further user interaction as soon as the user has started the setup process.
This would something like the way it is done by GMS (Play Store).
Constraints:
The implementation has to work on devices back to Android 6.
I am an Android system developer and I want to integrate an update for our own hardware.
I have an existing app that is running as system app in the system context.
The app cannot be device owner, as this will block MDM support that customers might want.
I can access hidden APIs of the android system.
The solution may not require root access to the device and shall not use any hacks like calling pm install.
The device has to pass the Google approval what restricts everything to the use of the system APIs provided by Android. I think that this is the reason, why it is so hard to find a proper solution or pointer to a code sample for this.
Has anyone worked on this? Are there apps (like free app-stores) that implement something like this?
Edit: I have found a partial response to my question here: https://stackoverflow.com/a/5805299/6289291
The major difference is, that when building from within the AOSP tree, reflections are of course not required and there are some problems I encountered that I will try to summarize in a response to this question as soon as I have resolved those in a proper way.
i'm developing an app that runs in some tablets. these tablets are rooted and the user that uses that can't go out the single app that tablet run. If i want to use an external app inside my app is possible? Like an emulator inside my app.. Thanks!
Technically to run android application inside android application you need and android emulator on your Android device, which needs lots of CPU, and is neither implemented now, nor a good solution for any problem that you may be facing. Theoretically it's possible but technically - very complicated and to my mind useless.
You should try to find a more elegant solution rather than this. The simplest thing you can do is to make incapsulated switching mechanism between your restricted apps or think about solution how this apps can be integrated.
I would like to start looking at development for Android applications (nothing huge, just for learning). Before I begin, I would like to find out whether or not development on the Android phone I use daily would be corrupted or changed in some way if I used it as a development device.
I probably won't put anything on the Market, but I would just like to test out how everything "works" with Android development.
Any help that will guide me is great.
Thanks.
It shouldn't cause any problems at all. The only problem I can imagine is that you have to enable installation of applications from unknown sources (i.e. not the marketplace). You just need to be sensible not to go installing applications from dodgy places.
No, not at all! Sorry for the shortness of the answer, but that's it.
The only problem I can think of is writing to internal memory more than usual, but if you install a lot of new apps, the effect will be the same, so it's nothing special. And as alextsc said, if you write something and it doesn't work, just remove it, and that's all.
Not at all. But even better, when you set everything up (Eclipse, the Android SDK and the ADT Eclipse plugin) you'll also get an Android emulator that you can test your development projects on virtually.
Still, it's just fine (and recommended) to do testing on an actual device, but if you're just playing around, you can likely just use the emulator and only deploy to your device if the end result is something you'd like to show off to your friends!
Best of luck!
Hey in addition to the above answers,
You should actually test on your device when you are making an app that uses one of the following :
GPS, or wi-fi to get user location
when you want to use any phone sensor in your app
when you are trying to integrate camera/ camcorder in your app
also you might need to actually test phone call/sms functionality integrated in an app
otherwise the emulator just works fine
(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.
I have an app in Android Market which is a standalone app that's essentially a full conduit to an SQLite Database(add, change, delete, inquiry). Some of my potential clients have asked to see a sample of my work, but they don't have an Android device.
Other than just showing them screenshots etc., is there a way I could have them go to a website where they can actually run it & check it out.
I'm thinking there would be a programming element involved (convert app to a mobile website essentially?), hence posted this question here.
Not quite sure where to get started. Any help would be appreciated.
You can use one of the patterns like MVC/MVP/MVVM to create your core library and then develop additional UI variants for different clients: Android, java applet etc.
Alternatively you can develop a mobile web site as you suggested and use simple android app to navigate built-in browser to it. This might be somewhat transparent to most users. I think Android MSN client uses such an approach.
I see 2 relatively easy options.
Give them an .apk designed to only
run on the emulator (you can check
the ID, the emulator ID is 00000...)
and they can boot up an emulator and
run it. If you're worried about them
reverse engineering your .apk you
probably shouldn't go down this
route. Or if you don't want them to
have to install the emulator
Set up a virtual machine and let
your clients remote desktop into it.
Give them permissions to only run
the emulator or however you want to
set it up