I have several android devices I would like to test on. Currently, when I want to test my latest build, I have to connect each device individually. It would save a lot of time if, instead, I could press "Run" and each of my devices would automatically and wirelessly update with the latest build of my app. Is this possible?
To be clear, I am not interested in remote testing as in this question. I want to test on multiple devices that I already own.
You have a couple of options.
If you have rooted devices you can use something like this to connect your adb over wifi, instead of plugging them in.
What I have started to do for non-rooted devices is copying the apk file out of the project bin folder into my dropbox, then copy the link to it and turn it into a QR code, and scan it with each of the devices.
Edit: I use a firefox bookmark to make generating the QR codes a bit easier.
This is the whole link that goes in the location box:
http://chart.apis.google.com/chart?cht=qr&chs=350x350&chl=%s
Once you have that bookmark saved in firefox all you need to do is type "qr " in your address bar and then paste the link(or anything else) you want turned into code. This along with Dropbox's custom context menu that shows up when you right click something in the public folder has an option 'Copy public link' These work together to make the process fairly painless.
Related
I have seen many questions about the usb, the host, the permissions, ... I never read a solution.
I have an Android/Windows tablet with a 'big' USB A port. I prefer to use the tablet with Android OS for many reasons. I can connect an Android phone with a standard USB cable. When the connection is made, the application Gallery is automatically running on the tablet and I can see the camera files stored on the phone. And I can only import them with this app.
This is a good feature but I would like to create a small app to copy the files instead of using Gallery. With java, I can have access to paths like dev/bus/usb/xxx but nothing else.
When I use es explorer, I can see the same paths but they are not shown as folders. They are shown as files and, if I select one of them, I get a choice between "open as text file", ...
So, how to have access to the real folders of the phone?
The app Gallery is able to do it. I think we should do the same even if the tablet is not rooted.
If I cannot do it, the only solution for me is using the Windows OS installed on the tablet. It seems it's easier to have access to a device than using Android. That's a bit strange, isn't it? But I prefer to use Android because the system is more appropriate for the tablet which has a small RAM.
I'm having a bad problem and it already gave me a headache. I did an application with Magic Software and to run it on my Android I have to configure Magic Studio the right way (done), run the project on the Magic server (done and working) and install MagicDev.apk on android (available in the Magic XPA folder and already done), and when finished installing, the application must be run and when it is executed it asks to enter the URL of the Magic application, which is the following: http://[IPv4_of_notebook]/MagicScripts/DevProps.txt, but when you try to access this, it is not possible, it says that the application was not found or the connection failed.
It is worth mentioning, I had this same access problem when using XAMPP or Wamp, because when trying to access the localhost with the cell phone, the link would not respond, it would load until I gave the message (I put Wamp online for this, of course, and changed the settings in the [files].conf). Another important thing is that I made an Android application in Android Studio where one of its functions was to access the internet and although the application installed on Android really could not connect to the link, the emulator accessed quietly (the emulator runs inside the pc, would there be anything?) and I could do what I had to do, this link was on a page I made using Wamp, that is, the emulator accessed my IP, and the cell phone can not.
My question: Is this some configuration of the notebook, Android, Internet router or am I doing something wrong? My friend created a page using Wamp, configured it correctly and placed it online and from my home, with his IP, I accessed the page (with my notebook) in a quiet way. One more note, my notebook connects to the internet with Wifi and my Android too, meaning they are not connected to the source directly as my room PC is, and I do not know if that also matters.
I will later try to run the application on my PC from the room and see if it gives him access to his IPv4, but I do not think it will work either. Anyway, does anyone have any idea what it can be? I do not like messing with my notebook's Internet and other settings without knowing what I'm actually doing, I'm afraid to make my notebook vulnerable. Here in this video https://www.youtube.com/watch?v=1njzFq07t2U you can see the process I'm describing here, but it's not working for me.
I already figured out the villain, it was the firewall. When I turned it off everything worked as expected. I can not keep it turned off for security reasons, but from what I've seen I can configure it to accept only my phone.
I am trying my hands on the android app development and need your suggestions to mitigate my current situation.
My organization has disabled USB for the desktop and I wouldn't be able to connect my phone through USB to test my application as I code.
I have installed genymotion but since it is behind proxy, in all the ways I could configure it, it gives proxy authentication error.
The avd is comparitively slower and the app which am trying needs internet connectivity at every step. I have tried these too and my impression is that we can make
the avd work for connecting to internet through its webbrowser but it cannot connect to internet within the apps. I might be wrong here. Please let me know if it is not the case.
Is there any other way where we can install the app in the phone as and when we code to test it..?
One option can be to export an apk file everytime and install them on the phone by sending this apk through a mail. But this will be a cumbersome activity if we have to test as and when we code.
Any suggestions on this..?
PS: I do not want to hack the desktop to enable the USB.Also using an external laptop with USB enabled is out of option in my case.
Many thanks.
Another way is using AirDroïd. You just need to install it on your test device, and you can manage it with a webapp :
your.static.ip.xx:8888
You can install your app with that way, it's really easy, you don't need any account in a local network.
For testing... no idea without usb, or without the emulator. Maybe you can log everything in a text file & get it (with airdroid for example).
EDIT
I think if you create an account you can use it external of you network.
http://web.airdroid.com/
Just create an account, & log on web & on the app, you could use it on the external way.
Why are you even bothering to use the desktop PC when your organization has made it unsuitable for development.
It will be hard work, but you could do all your development on the Android device itself, using AIDE
(Actually AIDE is pretty practical as a IDE if you have a large screen tablet, and pair it with a full size bluetooth keyboard).
Quote: "Inside your project bin folder there is an apk file. If you copy that file to a device you can then install the app from it.
When I am in your situation I throw my apk into dropbox and send out links for people to download it."
from this link
I doubt that if your company has disabled USB they still allow Bluetooth, but because you did not state it specifically:
If you can use Bluetooth, the best way would be to use it for running and debugging your App.
There are some Tutorials on the web.
For Example: http://zcourts.com/2013/07/19/android-debugging-over-bluetooth-without-root/
We want to install our application on to (thousands of)phones and these phones will be later delivered to clients. Do we have to do this manually? Is there a faster way to do this?
For example, in Windows Mobile, if you put your installation files in a certain folder on SD card and when you insert that SD card to the phone the app is installed automatically to the device. Any similar mechanism on Android?
Thanks in advance.
You can create an update.zip file on an sdcard that will install an application, but you have to boot the phone into recovery mode to run it. I haven't used update.zip this way, but I saw it here: http://www.londatiga.net/it/how-to-create-android-update-zip-package/
Unfortunately it's much more complicated and slow than the old 2577\Autorun.exe method from WindowsMobile.
Other ideas...
ADB + USB hubs: Hook up a bunch of the phones at the same time using USB hubs, run a script to find the device ids with adb devices and execute adb install your_app.apk for each one.
(Requires taking the time to enable USB debugging on each device)
Install from the web: Host the .apk publicly or locally. Now you have to pull up the URL on the phone.
(Requires taking the time to checking that checkbox for installing from unknown sources on each device)
TinyUrl: host the .apk anywhere, shrink the URL, type it into the browser.
QR Code: If the devices happen to have a QR Code Reader like Google Goggles pre-installed, you could save yourself the typing of the URL.
SMS: If all of these phones have service and you have the numbers handy, you could broadcast an SMS to all of them.
Best of luck!
Basically, yeah. See this question for details. You essentially need an army of button-pressers.
I found this:
http://www.harmonyhollow.net/android_injector.shtml
So far it is the best solution I found. I guess it uses adb behind scenes.
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.