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.
Related
I am using VS 2013 to connect with the new VS2015 Android Emulator. This seems to work now and I can debug, set breakpoints etc which is all fine. (Now, I would use VS2015 but it won't deploy properly -never mind).
I am also developing the server app on my machine and using Fiddler as an http debug aid.. not an uncommon situation I am sure.
The server is running (also under debug in another instance of VS 2013) using IIS Express and I have added bindings to the applicationhost.config so the IISExpress server is visible on my LAN from other PC's and I've checked it is visible.
Try as I might I can not seem to get the Emulator to send the http requests back to my computer.
My javascript uses a servicebase to hold the url:
var serviceBase = 'http://192.168.2.4:64963/'; //'http://169.254.220.177:64963/'; //'http://10.0.2.2:64963/'; //'http://localhost:64963/';
The commented ones show the ones I have tried. None of these works.. the first is the IP of my machine on the LAN, the rest are various ones I have picked up here or the Android dev site.. I have also tried:
http://mymachinename:64963
Because I am bringing both web AND API services from this URL I have also tried a chrome browser on my real android phone (over wifi on my LAN) and this can't get to my dev machine either (where my other pc's can). So I get that it probably can't resolve the names? But really not sure where to go next? I wondered about the Hosts file on my PC but not sure if I can/should set an IP address as a host name? .. any pointers? Thanks, Brett
169.254.80.80 is the localhost loopback.
By going to Additional Tools in the VS emulator for Android (click the >> button on the right hand side) and selecting the Network tab, you will get all the information about the network connectivity.
For the localhost loopback, use the address listed under the Desktop Adapter #2. Desktop Adapter #1 should work as well, which is the IP address of your machine.
I am answering this because I have seen a lot of comments/questions about this topic and need to include some bits that it is hard to fit in the comments.. and I have solved it.
First the solution.. was to delete/replace the vsemu.vhd and vsemu.sdcard.vhd for the emulator with safe copies. This was because in my efforts to fix the problem I assume I had changed some setting in the emulator phone data. Sadly I am not sure what.
However, and this checklist may be useful to someone, before this I was led to it by the fact that because I had web services as well as API from my server URL I was able to test webpage access. This worked on pcs but failed on wifi connected android devices on my network with pc names.. as mentioned in my original question. But it wouldn't work with a numeric IP address either.
I had already added the numeric IP to the applicationhosts.config file of IISExpress, but what I hadn't done, because I thought its on the machine its referring to, was execute the
netsh http add urlacl url=http://192.168.2.1:94693/ user=everyone
command to let it all through.
Once I had done this, I was able to connect using the IP address from a phone, and this led me to discover that the Emulator had obviously got some form of problem. Replacing the VHD's fixed this and I am now communicating.
In case anyone else has this issue using the following IP's worked for me:
IP of the machine
169.254.80.80
However, do remember that VS Android emulator is running in a Hyper-v VM,
So I had to punch a hole in my firewall to allow for my application port to be reached by the emulator.
If your using Web API with visual studio 2015 and VS Android emulator this link helped me out a lot
Use 10.0.2.2, This is the loopback from emulator to your host machine.
See link:
http://developer.android.com/tools/devices/emulator.html
I was having the same issue, but none of the above answers were useful for me.
My BackEnd is a PHP SlimFramework Rest Api.
I decided to change the IP in the auto start of the Slim (was localhost:7888), I tried this: php -S 192.168.43.20:7888, and everything was working fine after I configure the calls to that ip.
I hope this may help someone...
In generic the IP you must consider is the IP of the network you are using/allocated to run the android emulator.
Very raw/rude method of finding it is by going to settings (gear symbol on right panel of emulator, not the one inside) and look for ip address. . Or by opening the ADB Logging window and it's on the top left corner.
Now in command prompt type ipconfig and match the first 3 numbers of IP and that's the network your localhost loopback.
Because in many cases we will have more than one ethernets or virtualbox host only networks are running.
Happy Coding!!
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/
I have a game built on Unity running in an android device. In theory it should be possible to step through the unity code by attaching to AndroidPlayer at runtime.
Well I followed the rules on how to do this.
1) Created development build with script debugging enabled.
2) run the app with script debugging on wifi that has the player.
Initially it worked. Then perhaps a change or two in my network, and I no longer see AndroidPlayer as an option in MonoIDE to attach to. Its vanished and for several days now I am not able to debug. Not only that but i really don't know where to check this. I yanked out the ethernet cable so device and Mac are both on same wifi running on single subnet. Nothing seems to help. But what really dissappoints me is there is really nothing to check in Unity when this type of thing happens. It just try to attach to proess. Hope AndroidPlayer process is there and if its not. Tough luck.
PS: I should add I am on Unity Pro 4.2.04f. It worked fine, then who knows what and it stopped finding the AndroidPlayer. What a mess!
PS: Things I have tried. Pinging to ip address, and telneting to port (successfully to ip:5555)
Note: This is not the Android Debugger I am talking about but a player that needs to be running in the app, and visible to MonoIDE in order to debug.
What I am really trying to understand is what are my options when I cannot see AndroidPlayer as an process to attach to?How does one debug this problem? Are there things in the logg if AndroidPlayer is sucessfully running? How could monodebug not see it? How do I know it it is or is not running on the devices.
Thanks
Have you looked at the IP address of the Android device and attempted to ping it? I find that, here in the UK, our BT provided "home hub" will often, randomly, stop routing traffic between devices on the same network.
I find that if I can't debug (and I believe Unity 4.2 still used wifi debugging) then I usually can't print either and it's because the router has stopped routing traffic.
A quick reboot of the router usually fixes it.
PS Just read about the ping being successful. Have you downloaded and run "wireshark" to see what network traffic is happening? At least that will show you what is happening on the network layer.
Other thought, any sort of firewall running on the debugging machine?
Try to:
1) Disable antivirus
2) Disable firewall
3) Deinstall Xamarin (in case when you use VS for debugging)
That did help me when I had the same problem
Hi I am developing an application which is connected to a cooperate network via a VPN-connection.
Now I have the following problem:
If I try to send a HTTP-Request from a real device to a server located in the network using the server-name the logcat shows an UnresolvedHostException.
If I am using the IP of the server instead everything works fine as expected.
On the emulator the problem does not appear at all and everything works.
So I tested this on the browser of my device and the browser seems to have the same problem, using the IP, the browser can access the server, but if I use the server-name the browser returns a 404 error.
Does anyone have a clue why this problem is appearing or can give me a hint how to solve this issue, I have searched the web but cannot find a proper solution anywhere.
If anyone is having the same problem, shutdown your device wait a moment so it totally powers of and then restart it, this solves the problem and saves you a lot of time, stress and rage, it seems like their is a bug in the system (at least on some API versions)
This probably has been asked a hundred times. But I can't seem to see any answer. How do I set the Android emulator so that my app running in it can access a web server set up in our intranet (LAN)?
I have tried setting the proxy/port (both in the settings in Android and specifying -http-proxy when launching the emulator) but I can't get my app to connect to the intranet.
Hopefully, someone can give me a quick answer as this is really urgent.
Thanks and regards,
Rai
You do not need to add any new configuration to the emulator to work. It uses the network what your laptop or System has. It is a new bridge setup on your system using which it communicates to the outside world.
So, I suggest, you check if your system is able to connect to the web server is setup.