I contacted Archos and they said they don't give developer support because they use straight Android, so I am posting this question here. If someone knows of a better place, please let me know.
The company I work for is reselling the Archos 4.3 as a platform for our product. We have several APKs that we are installing in our production facility. I have some questions about different ways to do this. Can someone point me to a forum or maybe here is the place that can answer some specific questions about the Startup Wizard that can install 3rd party apps?
Our process is currently:
Connect Archos to PC
Touch screen calibration
Skip wizard
Mount as a drive on PC
Copy files to the .system/APK folder
Go to settings / recovery and turn on the startup wizard to run again
Reboot device
touch screen calibration (again)
Perform wizard including installing 3rd party apps
Now we are ready to ship
The problem is that his process takes a long time. We would like to shorten it. We did originally plan on using ADB to install our applications, but that was very unreliable. Sometimes ADB would get mixed up and we had to reboot the computer. Keep in mind we are making about 100 per day. ADB was really made for developers to debug and test and doesn't seem to be a real hardened production tool.
If we could change our process to be this:
Connect Archos to PC
Touch screen calibration
Complete wizard
Mount as drive on PC
Copy files to .system/APK
and here is the change if someone can tell me how to do it:
Just run the part of the wizard that installs 3rd party apps
Then we would be done. This would save us the reboot and having to do the touch screen calibration over again.
Does anyone know how to trigger just the process that the startup wizard uses to install 3rd party apps from the .system/apk folder?
I tried writing my own app that installs the APKs, but it makes you go through the UI of approving each app and installing them manually and that takes longer than the startup wizard. The startup wizard is somehow able to install everything in the .system/APK folder without asking the user to go through and approve each one. It assumes that since the user ran the wizard and said yes that they approve. It just shows a toast window that iterates through all of the APKs. There is also a .txt file for each APK that contains the work "shortcut" or "noshortcut" that puts a shortcut or doesn't on the home page.
Thanks....
What do you mean "part of the wizard that installs apps from the .system/apk folder"? There is no such part of that in the standard setup wizard. The closest thing I can think of is at the end of setup when you have configured your account, the restore of your installed apps from an older device. I'm also not sure what you mean by a ".system/apk" folder. Do you mean /system/app? If so, any .apks in there are automatically scanned and "installed" during the early boot of the device, well before setup wizard.
In general, currently Android is intended to be customized by building system images that are installed on devices. There are no facilities in the standard platform for automatically configuring a device without doing that by flashing an updated system image.
The stuff you are talking about installing from a .system/APK folder doesn't sound like anything that is in the standard platform. The only ways to install apps in the standard platform are through the app installer UI, through the shell with "adb install", and of course if you have the Google apps through the Market app. Manufacturers can certainly add their own customizations for installing apps other ways, though.
Related
Just that, I like to know is always all the preinstalled apps are with the uninstall button disable in Android.
If I am reading your question correctly, some of the pre-installed apps can't be uninstalled without rooting your phone using cyanogenmod or rooting your phone.
Some pre-installed applications can be uninstalled. For example in Android 4 (ICS) you can go to Settings -> Apps and select the "All" tab. There you can uninstall some of the preinstalled software.
Root the phone, put the APK into the /system/app folder and then unroot the phone. This is possible on a Droid 4 at least in theory. Not sure about other hardware models. If you can root and unroot the phones it should work.
This depends on the Device manufacturer. They have the possibility to install the app in any way they like before they freeze the image and flash it to the hardware in the factory.
For example some of the Branded apps might be installed under system privileges, but some of the more "friendly recommendation" apps might be free to uninstall.
From what i understand in ics apps in usolder can be uninsfreeled, apps in system folder instead of uninstall the button reads disable. Except for only s slight few only, these apps are reQuired by the os for the user to be able to"enable" a disable App, so i think i the app needs to be signed by the room cooker our needs top have a intent in the manifest like a launcher or home app (since if you disable your home launcher you bricked your phone, so you can't disable it, but if you give your app a intent label of copied from the Android source launcher then the phone will think it's a launcher, and not let you disable it, you will prob have to set the home launcher back to be default or Android will ask you witch launcher too use Every time user hits the home button, i was looking for the same answer found this page
Android 4.0 Api to Disable Apk Witch gave me the idea, currently thus reply is closest I've come to impinging the idea, i well be trying it soon, if you beat me to it, let me know tour results, and i well do the same.
And to install a app in /system/app a uninstall.zip won't do it, you need too root the phone, install the app, xfer it to system (i use system/app mover available in the play store free, the too secure ot Unindtsll app mover, and unroot, any way good luck.
P.s. I'm Not a Dev, i just understand the format format of the app language, and can c effectivly search for info, so please no code questions. i can't answer them, but google can.
A client is releasing a product (employee training/guide), and have contracted us to create a companion application for the Android OS.
Being a global entity that routinely has employees in areas without network access, they are releasing their product via CD.
They would like the ability for their users to optionally install this companion application to their personal Android devices (their own cell phones/tablets etc).
Since some will be in areas without network/internet access, they would really like the ability for an installer to be on this CD to install the Android application.
I am somewhat familiar with being able to install applications onto Android using ADB, but was under the impression this would require root.
Is there a method by which an application could be installed from a computer, in such a way that a non-tech savvy user could use it (IE classic installer application, just different target).
Don't want to be asking these people to root their devices, install ADB and so forth.
I think the ADB route is asking for trouble as you're reliant on the right drivers being present on the machine. Sometimes it'll work fine, sometimes it won't.
You could potentially provide the APK on an SD card for the phone, but there's no consistent app to use to open the APK from the phone, so that's unlikely to be any better.
Surely if they are using phones they do SOMETIMES have network access? I suspect you're going to struggle to find a nice solution, and although not ideal maybe better to just require that users install the app when they do get a connection?
Going down that route, you could provide the APK via email, a web link, Android Market, or any alternative market.
Do remember that the cost of a solution isn't just building it, but the support too. My sense is when you're looking at the possibility you might have to help users install the right driver, you need to look for a better solution as that's the road to hell.
I am somewhat familiar with being able to install applications onto Android using ADB, but was under the impression this would require root.
No.
Is there a method by which an application could be installed from a computer, in such a way that a non-tech savvy user could use it (IE classic installer application, just different target).
There is the Sideload Wonder Machine, but I haven't tried it, and it is Windows-specific. It also would still require adb-compatible drivers, which the user may or may not have installed on their Windows machine.
Otherwise, there are no network-less options at this time that I am aware of.
Well, there is still another option that nobody mentioned, which does not involve dealing with USB drivers. BTW, this is only a Windows problem, in most Linux distros ADB works out-of-the-box.
This option is through WiFi:
configure Tethering & portable hotspot
connect the computer to the hotspot
start some kind of web server on the computer (apache will do, probably microapache could be of help if using Windows)
on the phone open the URL containing the APK (the IP was given by the hotspot)
download
install
Voila !
I am looking generally in to Android development.
I keep seeing information on root however I am unclear how this relates to general android app development.
I understand that there is an emulator however when I get to actually test the software on a phone does that phone have to be a rooted device or is this only required if you wish to edit the core features of the os?
Finally are there are any development disadvantages to rooting the device such as that is no longer behaves like other android phones I may deploy too?
Thank you
You don't need root to develop for Android.
The easiest setup is to run Eclipse with the Android Development Tools installed. Then, you can debug your application in the emulator, or register your phone with the SDK and debug directly on your phone. The only thing you need to do on your phone is check the development mode under Settings -> Applications
I can understand the allure of having a rooted device, but I can't really see a reason for changing the bootloader or os binaries. You can, however, change most of the default applications (including the Home application) with other applications available on the Market. For instance, OpenHome is about $5 and allows you to replace the home app, add themes, and replace many of the core apps (e.g. clock).
Rooting is only required, if you want to play around with advanced features or update your firmware, etc.
If you develop your software using the Android SDK you will be able to use it on your phone regularly (as long as you have the corresponding version). No rooting needed.
I have never heard of any problems according to your concerns. But I cannot deny that there are none. Though I personally don't expect that there are any problems with rooted phones.
On the Nexus S running Android 2.3, the /data folder is not visible in the DDMS File Explorer or the ADB shell, but it is visible in the emulator. This occurred with debug turned on in both the manifest and on the phone. I confirmed that debug mode was properly enabled by successfully stepping through the app using breakpoints and also by receiving messages from logcat.
Not being able to see the /data folder means that you will not be able to get your application's private data.
Where do I copy the apk file on the Motorola Droid? Which directory? Are there any possible issues I need to be careful of, it's also my personal phone...
To install an apk file, you need to execute
adb install /path/to/file.apk
While the droid is connected. I would avoid using any programs other an adb to install your application. adb will definitely follow the rules and you should be able to clean things up, etc if something goes wrong. That may not be the case with other programs.
I should note, this is assuming you are writing the program yourself. adb is a program that comes with the Android development kit (I assumed you are using this as this is a programming related site. If you are not referring to this and you are simply trying to install a program on your phone, this question would probably be better on superuser.com)
Edit To address your comment. When you select "run" from eclipse, and you have your droid plugged in, it should give you the option to select which device you want to execute the code on. Double clicking on your droid will automatically install and launch the app. You may need to enable the development settings within the Settings menu though for it to be recognized. To confirm that eclipse (really it's adb) can see your droid, launch a terminal or command prompt and type adb devices while the droid is connected. If it's listed there, you're good to go.
I guess I was making it way more complicated than it needed to be. If you have eclipse with the Android plug-in, all you need to do is go into the settings of the phone, then applications, then development. Set the Debug mode to on. when you compile the app with eclipse I guess it looks for an actual phone first, if it detects it, then it loads the app on it. If no phone is detected and you have the ADV set up right it loads it there. Easy... There is a setting about unsigned apps in the application menu, I set it to accept and turned it off after, my apps are still on the phone and work... I am not sure if it was needed at all.
I don't know whether this is how you're supposed to do it, but get Astro File Manager, and you can install your app wherever you place it.
There shouldn't be anything you need to be careful of if it isn't rooted. Programs are pretty well contained and can't do much outside of their own little Dalvik machine.
Currently a team of developers is working on Android application and during the development process testers already have to test the current state and report issues.
So far I have simply installed the application by connecting the tester's device on my pc and hit run in the IDE. This way we waste a lot of time if an application has to be installed on multiple devices multiple times daily.
What I would like is to send the testing team the .apk file and let them install and run the application by themselves.
Does anyone know what's the best way to do it?
Thank you!
You can allow untrusted applications in the settings.
Settings / Applications / Unknown sources
with that setting on, you can just point your phone to the url of an .apk and install it IIRC.
It is also possible to install apks using debug mode and adb-commands over USB-cable.
Here is what I do for that, simple:
Build in debug mode, no need to sign with a special key.
Mail them the application by regular email to their computers. Then have them connect their USB cables (comes with the phone) and copy to sd card. Access the sd card from the within the phone using any available file browser, and they can install it from the SD card.
Regards
There is also software called Installapk that allows you to install APKs on your device very easily, though it is only available for Microsoft Windows, and is currently in beta.
Installapk