Remote debugging with Dart - android

The Motivation for this question is, that it took me about two hours to find out what I was doing wrong.
How can I remotely debug my Dart-Webapp (may work for other kind of local websites as well) on my Android phone or emulator?

On the smartphone:
Enable USB-Debugging on the phone. You can find it in the "Developer Settings" which are hidden on android 5.0. If you have android 5, go to the Device Information and tap the build number until something happens. If those instructions are too unclear, this link should help.
Make sure your server is running :P
Connect the phone per USB with your PC and wait until the drivers are installed - aka Windowsexplorer shows you a popup asking what to do with the phone. You can dismiss that.
Open chrome on your Android phone
Open chrome on your Computer and navigate to chrome://inspect
There, you should see your phone listed. Now select the Button "port forwarding" and a popup will ... well ... pop up. There you enter in the left field named 'Port' some Port - 8080 works fine for me.
This is a listening port that will be on the phone. That means after you set the port forwarding up, you can open the Url localhost://8080 on your phone (in chrome) to navigate to your website. Your website can you specify in the right field named 'ip and Port'. For the Chrome Extension "Chrome Dev Editor" I enter http://192.168.0.6:51792/which is the ip, port and path on my server.
Chrome Dev Editor tells you what you can Enter there when you right-click your main.dart and select deploy to phone.
select "Done" and navigate to the URI with your phone - that would be localhost:8080/MyNewDartTry/web/index.htmlif you followed my example. But I believe you could also enter in the port-forwarding popup the whole address and then only open localhost:8080 on your phone.
The localhost:8080 is mapped to the link you entered.
As soon as you close Chrome on either your Desktop or your phone, the port-forward will be stopped.
With the emulator
Start your emulator
find your server's port. e.g. 54321
Open the browser in your emulator and enter 10.0.2.2:54321/MyNewDartTry/web/index.html(or whatever follows after your slashes, but make sure the IP is 10.0.2.2 - that refers to your computer on which the emulator runs
Hope this helps anybody
EDIT:
If chrome does not find your device even though the phone has also opened chrome and you followed all the steps, consider Emmanuel Malacarne's answer.
C:\Users\YOUR_USERNAME\AppData\Local\Android\sdk\platform-tools && C:
& adb.exe kill-server & adb.exe start-server" The directory depends on
your installation of your ADT.

Related

Android Studio - No USB devices detected

I tried to play Android Studio 2.0 with my mobile without success, what I did are:
In my mobile, Apps/gear icon/Settings/SYSTEM/{} Developer options/ Android debugging/, enable the Android Debug Bridge(adb) interface (set tick).
After plug in my mobile to my PC with a USB cable, I found A0001 in my Computer folder. Within A0001, I can see the files in my mobile.
In my PC, run Android Studio/bin/studio.exe, "Select Deployment Target" window shows with message "No USB devices or running emulators detected"
I have tried two different USB drivers but got no lucky.
Perhaps I should tell Android Studio where is my USB driver? But, how?
Can you help?
I had the same problem too and I managed to resolve it this way.
First, enable debugger mode in your android device.
Go to Device Manager from Start Menu and try to find ADB Interface with an error symbol on it. This generally happens because windows sometimes fail to load all the mobile device drives.
Next, Go to http://adbdriver.com/downloads/ and download the driver installer, unzip and run it.
Now go to Android Studio and you should find that everything is working fine.
Chill....
same here... but I hope you can avoid this problem the same way I Did.
There is an "universal ADB Driver for all Android Devices".
Yep... sounds like magic.
Just follow this link.
https://devs-lab.com/usb-adb-drivers-for-all-android-devices.html
Fun fact there is no "Step 5" in that article so I'll give you.
you have to enable "USB Depuration" from "Developer Options" connect your cellphone to computer as a "MTP storage" , after windows detected your cellphone as a "Portable Device" Execute ADBDriverInstaller.exe (that downloaded from devs-lab)
check the device list and your cellphone will say "Driver incorrectly", select your cellphone and press install.
Step 6: Once the process is completed, you’ll see something like the image that appears there (in the link).
I hope that somebody else work this
Go to Run > Edit Configurations...
Under Deployment Target Options select Show Device Chooser
Dialog from the drop-down-list
See picture for reference
After struggling with this problem for a while, I found that there are certain cables that can only charge your phone, and even though they seem to be working, they do not allow your phone to be used as a "Media Device" and therefore Android Studio does not detect it.
Go to
Tools | Android | Enable ADB Integration
Make sure it's enabled. When I upgraded to 2.X it was for some reason disabled for me and it took me hours to find it.
I just cannot beleive why it is so difficult! let me try again and please check my steps again:
I installed Android Studio 2.0, then run Computer/OS(C:)/....../Android Studio/bin/studio.exe.
The Android Studio window appeared in my working area Computer/OS2(J:)/Users/MyAccount/Desktop/.
I connected my mobile with my computer, Cpmputer/A0001/ appeared, from it, I can see the files in my mobile.
I clicked the run icon in the Android Studio window, a "Select Deployment Target" window apeared with message "No USB devices or running emulators detected".
(I got two USB ports and tried both but got the same result.)
Finally found the solution : )
1. Install device’s required driver. (for me it was motorola device
manager)
2. Download Google Usb Driver from SDK Manager
3. Open your phone's setting->developer options and turn on USB debugging.
4. connect your device to computer
5. Go to Device Manager from Start Menu and try to find if there is ADB Interface with an error symbol on it.
5.1. If yes, then right click on the ADB interface->Update driver
software->Browse my computer for driver software-> Let me pick from
a list of device drivers on my computer->Select Motorola ADB interface
5.2. Now one confirmation will pop up in your mobile, accept it
5.3. Now you should see no error mark beside the ADB interface in your
device manager
There are 3 steps to set up your phone for debugging:
1) Change your phone to developer's mode by going to Settings, About Phone, Software Info, Android Version - tap at least 7 times on the Build Number text. You will get a message saying you are now a Developer.
2) Enable USB Debugging in Settings - Developer Options. Make sure you are not connected to your USB port to see the USB Debugging option enabled, otherwise it will be disabled.
After you plug in your USB, swipe at the top of your screen, you will see USB Debugging on.
3) Make sure USB connection is set to Photo Transfer (or MTP - Transfer photos and videos). After you plug in your USB, swipe at the top of your screen, and you will see Tap to change USB options on the menu. Tap it, and select Photo Transfer option.
Perhaps your mobile manufacturer does not provide the proper driver.
Go to Device MAnager and look for: Android Composite ADB Interface. If it's there, the driver is properly installed. If not... You and I are on the same "wagon"...
I tell you: Acer? Never again.
USB debugging somehow got turned off under developer options on my Samsung. Turned it back on and it worked, but only by clicking on "debug app" instead of on "run app".
With me, when connecting the mobile to the pc, three options appeared on my mobile.
Charge this phone
Transfer Files
Transfer Images
I thought I should select "Transfer Files", but it dd not work
But it only when works I choose "Charge this phone"
Few ways to resolve this problem.
Case 1: Install PdaNet+ in your system. (worked for me).
Case 2: Enable the USB debugging option in your mobile. Setting > developer > Check "USB Debugging".
Case 3: Change from MTP to PTP.(sometimes vise versa works).
Question is Your development sdk no mobile version android sdk Platform.
For example, my android phone system is 6.0, i need download sdk Platform 6.0.
First, try to revoke the usb sessions in the developer options, then try downloading an oem usb driver
If then doesn’t help you can try opening the device manager on windows, right click on your phone, select uninstall. This worked for me if I had the same issue.
I couldn't find my android phone or any USB device I connect to my windows laptop on the hidden icons. Well, my mouse and phone could charge but I can't seem to see my phone in the File Explorer option.
I prefer running Apps using my phone rather than emulator in Android Studio and yet I couldn't see my phone when I connect using the USB.
This helped me solve all my problems after several hours of searching for solution.
Download Universal ADB Drivers - One size fits all Windows Drivers for Android Debug Bridge
Please use this link: https://adb.clockworkmod.com/
I hope this works for you like magic!
I can see all the devices I connect using the USB cable and my mouse receiver.

How do I extract and view cookies from Android Chrome?

Is there any way for me to get and read cookies from my Android Chrome browser?
Thank you.
You can view cookies in Chrome on Android if you connect your Android device to a PC/Mac/laptop via USB. No rooting required. The laptop needs to have Chrome installed. You can then inspect the content on your Android device in Chrome on your laptop by visiting chrome://inspect/#devices
There's a little more to it than that, you need to enable developer mode on your Android device:
Settings -> About Phone -> Build number. Tap build number 7 times.
Then under Settings you will see a new item - "Developer Options".
Within Developer Options enable USB debugging.
If you don't see your connected device listed on your laptop Chrome URL: chrome://inspect/#devices then you might need to install a USB driver. Or disconnect and reconnect device after installing USB driver.
Details here - https://developer.chrome.com/devtools/docs/remote-debugging
Once you can inspect content you can get cookies from the network tab in the same way as you would in Chrome on your laptop.
Note : This doesn't work in inCognitoMode
Follow these steps
1: Go the web page that you want the cookies from.
2: In the URL type the following:
javascript:alert(document.cookie);
Then press ENTER
Just type, DO not PASTE!
Without an external PC and a cable, but on a rooted device, it is possible to access the cookies database by a tool like SQLight Editor by opening this file:
/data/data/com.android.chrome/app_chrome/Default/Cookies
You could try using the the net-export page chrome://net-export/ . I guess that should work, or at least you can use it to make a .json file, viewing it's contents however, I don't know how to do that

Test android app on Virtual Box from Android studio

I have a very specific problem. I am trying to create an Android app for educational purposes, together with a friend of mine. The problem is, my processor does not support VT-x, which is essential for using an AVD, and my Android phone is considerably old so it can't really take much.
Therefore, the one solution I have in mind is using VirtualBox to create a 32-bit Android Virtual Machine and test my app there.
The problem is that, unlike an actual Android device and an AVD, a VirtualBox Android VM does not have, for what my knowledge is, an obvious way of being connected with Android Studio for testing each new app build.
So, what I am asking for is exactly that: a way to immediately test the app I have written in Android Studio in my Android Virtual Machine I have created on VirtualBox, including any workarounds that effectively allow me to immediately test the app on the VM, other than finding a way to make adb work with it.
I see I'm a bit late on this one but I figured it out. I am using Windows 8, running Android x86 (4.4 r1) on VirtualBox.
1. Set up a Host-Only adapter so that the VM has access to your network; You can set this up only when the Android image is off. Basically just go into your settings, click on Network, and select Host-Only Adapter in the drop-down labeled Attached to. For Adapter Type select PCnet-FAST III. Check the box next to Cable Connected if it isn't already.
2. Set up an NAT Adapter by selecting a different Adapter tab and for Attached to select NAT. For Adapter Type select PCnet-FAST III again. Check the box next to Cable Connected if it isn't already.
3. Enable Developer Mode by starting up the Android image, then going to Settings > About phone/tablet > Build Number. Click on Build Number 7 times. You should see a pop up that tells you how many more times you need to click to get into Developer mode. Credit to RMP PianoTuning's answer below
4. Get the virtual Android's IP address by going into Settings > About phone/tablet > Status > and then scrolling down until you find your local IP Address. Remember this number, you'll need it for the next step.
5. Start up Android Studio and go into the console; it should be one of the options in the bottom-left corner. Type in adb connect (IP address from step 4). Take a deep breath and hit enter. If it says
connected to (IP address)
you are ready to rock! When you run the app within Android Studio, your virtual Android should appear as Innotek GmbH VirtualBox, or something like the same. Select that puppy and enjoy your new, easy-to-test-on emulator. Its even Bluetooth Compatible! (but thats a whole 'nother story... google it)
Now a virtualbox isn't an answer to your need.
here are some alternatives,
Genymotion http://www.genymotion.com/ which is an easy to use android emulator , i suggest you look into it. based on virtualbox , can be integrated into android studio with ease . needs an AMD-V proc if not a VT-x . If the processor does not support these, the emulator still works, but your emulated device will only be able to use one CPU.
The other option is adb over wifi, which will let you use your phone without doing the dropbox step http://forum.xda-developers.com/showthread.php?t=1685736. For this to work you will need root though.
I was able to follow OMiKeY steps and get my app to run in VirtualBox,
the part he leaves out:
In your Android simulated device, you have to enable Developer mode.
Goto 'Settings' -> About Phone/Tablet->Build Number.
click on Build Number 7 times.
For me I got pop up that told me how many more times I needed to click to get into Developer mode.
After that i re ran the adb connect XXX.XXX.XXX.XXX command
Here's how it works for me.
I just connect my android phone with USB to my host (Windows 10).
Then make sure the USB phone is found from within the guest OS (ubuntu desktop 18.04 in VirtualBox 6.0). (VirtualbBox app: Devices > USB > check the USB corresponding to my phone). Once it's recognized by ubuntu, there will be a phone icon showing up on the desktop screen.
Next, I start android studio (v3.3.2); once that is complete, from the Terminal window (Android studio: View > Tool Windows > Terminal), I type in: adb devices, which would list the devices attached and my phone is on the list.
Now I run the app for a test (monitor my phone and confirm if there's prompt)...and the app shows up on my phone. Hope this may of help for others.
If you are running Windows, open the specific port in Firewall. In VirtualBox in your Android instalation Settings->Network Adapter 2 Tab - Port Fowarding and create a rule with Protocol (TCP) - Host IP (Your IP) - Host Port (in my case 5555) - Guest IP (Same Step 4 - Check your IP ) - Guest Port (I put the 5555 too). Ok! Now I can run my Apps in VM.
AppData\Local\Android\Sdk\platform-tools>adb connect 192.168.0.101
connected to 192.168.0.101:5555
Running devices:
innotek GmbH VirtualBox
:-)

Is it possible to test an app via AirDroid rather than having the device plugged in?

I don't want to have to constantly plug in and unplug my device whenever I need to test and app. Is it possible to use AirDroid to run an app from Eclipse to my device without having to root the device?
Sorry if this question has been asked and answered, but I couldn't find anything.
Yes, you need to root your device, install WiFi ADB from Play market, run the Wifi Adb and switch it on. Then run the displayed command in command line.
Example:
C:\android\sdk\platform-tools\adb connect 192.168.0.3:5555
Hello :) There are four options for you to run your project:
On your android device when plugged to the computer and USB debugging is on.
On your computer using emulator like - Eclipse emulator, Bluestacks, and more.
Go to your project folder -- > bin -- > move the APK file to your device and run.
See here : Run/install/debug Android applications over Wi-Fi?
The fourth answer is just for you :)
--- To find your device IP address go to Wifi settings - hit the 3 vertical dots and tap advanced Wifi settings -- IP address.

How to load my app from Eclipse to my Android phone instead of AVD

I'm quite new to Android and have been using an AVD to debug my app so far. However, I want to start checking the media options and therfore need to start using my Android phone. How do I get Eclipse to load my app to my phone instead of my AVD?
First you need to enable USB debugging on your phone, then connect it to your computer via USB. Then eclipse should automatically start debugging on your phone instead of the AVD.
just for additional info,
If your apps is automatically run on emulator,
right click on the project, Run As -> Run Configuration,
then on the Run Configuration choose on the Manual.
after that, if you run your apps you will be prompted to chose where you want to run your apps, there will be listed all the available device and emulator.
I had the same problem, and have not been able to get Eclipse in Windows 7 to recognise the device. The device is correctly configured, Windows 7 recognises it on the USB port, and I edited the Run settings in Eclipse to prompt for a device, and it is just not there.
I ran it with the following steps:
Connect the device to the computer with USB.
Ensure the device is not locked (ie. timed out in the UI). I have to keep unlocking it while I'm working.
Wait for Windows to recognise the USB device, and when the autoplay menu comes up select Open device to view files. It should open up the file system in the device, in Explorer.
In Explorer go to the Eclipse workspace and find the apk file from the build (eg. MyFirstApp.apk)
Copy the apk file to the Downloads directory on the device
On the device, use the My Files app (or similar) to open the Downloads directory.
Click the downloaded file (My First App.apk) and Android offers to install it
Select install
The app is now in the installed Apps. Run it.
A second method is to mail the apk file to the device and then download and install it. (Credits to a post on SO which I can't find now).
A third method is to use DropBox. This requires installation of DropBox on the PC and on the device (from the play store) but once both are set up it runs very smoothly. Just share a DropBox folder between the two devices, and then drop the APK into that folder on the PC, and open it on the device. With this method you don't need a USB connection, and can also install the APK on multiple devices. It also assists the management of multiple development versions (by making a separate sub-folder for each version).
In Eclipse:
goto run menu -> run configuration.
right click on android application on the right side and click new.
fill the corresponding details like project name under the android tab.
then under the target tab.
select 'launch on all compatible devices and then select active devices from the drop down list'.
save the configuration and run it by either clicking run on the 'run' button on the bottom right side of the window or close the window and run again
You don't have to do anything really except prepare your phone to be able to run debug and usb apps :
http://developer.android.com/guide/developing/device.html
then simply launch your app from eclipse and your device will be used if you don't have a simulator running.
First of all, Enable USB debugging on your device.
On most devices running Android 3.2 or older, you can find the option under Settings > Applications > Development.
On Android 4.0 and newer, it's in Settings > Developer options.
In eclipse go to Run Configuration and select Always prompt to pick device
Some people may have the issue where your phone might not immediately get recognized by the computer as an emulator, especially if you're given the option to choose why your phone is connected to the computer on your phone. These options are:
charge only
Media device (MTP)
Camera file transfer (PTP)
Share mobile network
Install driver
Of these options, choose MTP and follow the instructions found in the quotes of other answers.
Hope this helps!
goto run menu -> run configuration.
right click on android application on the right side and click new.
fill the corresponding details like project name under the android tab.
then under the target tab.
select 'launch on all compatible devices and then select active devices from the drop down list'.
save the configuration and run it by either clicking run on the 'run' button on the bottom right side of the window or close the window and run again
For those who are trying to find how to enable debugging on devices running Jelly Bean 4.2 (e.g Google Nexus), you have to go to Settings > Apps > About tablet and tap the text "Build number" 7 times slowly. Go back to the now available Settings > Developer options and check USB debugging as stated in previous posts.
Check to see if the Andriod Device is installed on PC. See steps below. The 'Other device' will change to 'Andriod Device' once the USB drive is installed. The browse path should be
\extras\google\usb_driver\
not the sub directories under it. Otherwise the installation will not find the package.
To install the Android USB driver on Windows 7 for the first time:
Connect your Android-powered device to your computer's USB port.
Right-click on Computer from your desktop or Windows Explorer, and select Manage.
Select Devices in the left pane.
Locate and expand Other device in the right pane.
Right-click the device name (such as Nexus S) and select Update Driver Software. This will launch the Hardware Update Wizard.
Select Browse my computer for driver software and click Next.
Click Browse and locate the USB driver folder. (The Google USB Driver is located in \extras\google\usb_driver.)
Click Next to install the driver.
connect your device to system and set you device debug mode on when you run your application Android Virtual Device AVD will select device there you will see your connected device select your mobile device and thats all refer this link to set your device debugging mode on
http://developer.android.com/training/basics/firstapp/running-app.html
The USB drivers in \extras\google\usb_driver didn't work for me.
However the official drivers from Samsung did:
http://developer.samsung.com/android/tools-sdks/Samsung-Andorid-USB-Driver-for-Windows
Note: I'm using a Samsung Galaxy S2 with Android 4.0 on Windows 7 64bit
What I did, by reading all of above answers and it worked as well: 7 deadly steps
Connect your android phone with the pc on which you are running eclipse/your map project.
Let it install all the necessary drivers.. When done, open your smart phone, go to: Settings > Applications > Development > USB debugging and enable it on by clicking on the check button at the right side.
Also, enable Settings > Unknowresoures
Come back to eclipse on your pc. Right click on the project/application, Run As > Run configurations... >Choose Device>Target Select your device Run.
Click on the Target tab from top. By default it is on the first tab Android
Choose the second radio button which says Launch on all compatible deivces/AVDs. Then click Apply at the bottom and afterwards, click Run.
Here you go, it will automatically install your application's .apk file into your smart phone and make it run over it., just like on emulator.
If you get it running, please help others too.
Thanks this helped. It was a little tricky getting the USB debugging option enabled on the Samsung G3 after the update.
See below
Instructions on Samsung G3 Jellybean
Settings
Click --> About the phone
Tap on the build number
“You are now 4 steps away from being a developer.” Keep tapping until it says “You are now a developer.”
Go back to Setting-->System --> Developer option: Enable USB Debugging
Step by step:
Connect your phone to computer via USB
Enable USB debugging on your phone: Settings -> Applications -> Development -> USB debugging
Change Run configuration in your Eclipse project:
right click -> Run As -> Run Configurations. In the Target tab choose Always prompt to pick device (or Manual). Then Apply, Run.
In the new window you should see your connected phone.
Yes! You can Debug Android Application While you are developing them follow these steps..
Make sure that you have PC suite of the mobile manufacturer. For Example:if you are using samsung you should have samsung kies
1.Enable USB debugging on your device:Settings > Applications > Development > USB debugging
2.Enable Unknownresources:Settings>Unknowresoures
3.Connect your device to PC
4.Select your Application Right click it: RunAS>Run configurations>Choose Device>Target Select your device Run.
You can also without using debugging cable.For that you need to install Airdroid in your device.After installing enter the link in your browser and Drag and Drop .apk file.
Happy Coding!
First you need to set your device to debugging mode. On Android 4.X that means as described in another answer in another question:
Open up your device’s “Settings”. This can be done by pressing the Menu button while on your home screen and tapping “System settings”
Now scroll to the bottom and tap “About phone” or “About tablet”.
At the “About” screen, scroll to the bottom and tap on “Build number” seven times. [Note this is no joke]
Make sure you tap seven times. If you see a “Not need, you are already a developer!” message pop up, then you know you have done it correctly.
Done! By tapping on “Build number” seven times, you have unlocked USB debugging mode on Android 4.2 and higher. You can now enable/disable it whenever you desire by going to “Settings” -> “Developer Options” -> “Debugging” ->” USB debugging”.
The next step is to connect your device to your computer via the USB cable.
The next step is to install a USB driver for it. On the official website you find a list with sources for drivers for phones from various different companies.
Eclipse now should give you the phone as a choice when you click on Run and it presents you possible device to launch.
In some case Eclpise will tell you Target Unknown which prevents you from using the device. If that's the case you might have to restart the phone. You might also have to check and recheckUSB debugging, till the phone asks you to allow your particular computer to do usb debugging.

Categories

Resources