Error when trying to run on device - nativescript

When trying to run
tns run android --device xxxx
I always get an err like this:
Error: error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
at Socket.<anonymous> (C:\Users\Raziff\AppData\Roaming\npm\node_modules\nativescript\lib\common\mobile\mobile-core\android-device-discovery.js:54:25)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at Pipe.onread (net.js:523:20)
Any way to fix this. I've tried it with various devices.

Have you checked your port? Your port which is 5037 probably is being used by other application. You can check your port using Windows Task Manager.

When you run tns more than 2 times It sometimes consumes your port, the thing you need to do is to run
netstat -a -o -n
You will get the list of tasks running on your machine.
You need to look for the 5037 port in the local address column, after you find it, check the process ID (PID) of the task.
Then kill it with
taskkill /f /pid 123456
Now you can continue with developement :)

What I discovered was there was a difference in ADB versions being used throughout the system. Here is the command I used to find them:
where /r C:\ adb.exe
This produced the results:
C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
Navigating to each directory and running:
adb.exe version
Allowed me to see that Expo was running ADB version:
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
While Genymotion using the custom SDK had version (c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe):
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
As a test I took the adb files (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) from
c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
and placed them into a backup folder. I then moved the adb files located at
c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
into that same location. I killed adb with:
adb kill-server
which caused a restart of the adb server automatically due to having my Genymotion device already running. I hit the "Restart" button inside of the Expo XDE and it immediately began working. Here is the log where I hit the restart button at 1:13:04 AM:
simply all adb.exe files must have same versions.

Related

adb.exe: failed to check server version: protocol fault (status 00 1b ffffffd0 02?!)

I can't figure out this issue with android debug bridge (not working at all).
On a Windows 10 PC
platform-tools_r33.0.3-windows downloaded and unzipped folder "platform-tools" in C: (from https://dl.google.com/android/repository/platform-tools-latest-windows.zip)
Added system variable "Path" : "C:\platform-tools" in Environment variables
I run cmd as admin, then adb and get:
Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as C:\platform-tools\adb.exe
[...all options...]
ISSUE:
any command for adb (e.g. "adb devices") results into:
"adb.exe: failed to check server version: protocol fault (status 00 1b ffffffd0 02?!)"
FAILED ATTEMPTS:
restart PC
kill-server / start-server
uninstall - reinstall adb
running adb from different directories (C:, C/platform-tools, other)
with an android device plugged in or not
removing C:\platform-tools from Path
adding C:\platform-tools to user Path (instead of system AND concurrently)

appcelerator studio cannot find device

I'm using appcelerator studio version 4.6.0.201605201934
I'm using a nexus 6P, and windows 10
The phone has debugging enabled, and has MTP mode selected. File-Explorer detects the phone each time it is plugged in and tries to download photos from it.
I have put the google USB folder in the android/sdk/extras/google/usb_driver folder
I can see my device on the command prompt by going to the android/sdk folder
adb devices -l
HOWEVER when i go to appcelerator studio, it does not find the phone - the "run configurations" has an empty list of phones to choose from, and running it leads to it informing me that there is no device connected.
What am I doing wrong?
Have you tried to run the kill-server, and devices commands with the adb path?
In my case:
bash-3.2$ /Applications/Android/android-sdk-macosx/platform-tools/adb kill-server
bash-3.2$ /Applications/Android/android-sdk-macosx/platform-tools/adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
If this still doesn't solve your problem, try to add the Vendor ID of the device to the adb_usb.ini file, usually placed:
Windows: C:\Users\YourUser\.android
Mac OS: ~/.android
You can find the Vendor ID at the hardware info on Mac OS here: /Applications/Utilities/System Information
There is also a list of Vendor IDs at the android documentation: https://developer.android.com/studio/run/device.html
Your file will look, like this:
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x18d1
I have been using Titanium for some time and I also have the same issue regardless of what device or USB port I use. I even have the issue with simulators.
So I do the following instead:
# Install the application (replacing the existing one if it exists)
adb install -r build/android/bin/YOURAPP.apk
# Run the application (you could also just open the application on your phone)
adb shell am start -n com.package.name/com.package.name.ActivityName
# Show logs
adb logcat "TiAPI:*" "*:S"
The adb tool can be found in windows 10 at this path
/Users/username/AppData/Local/Android/sdk/platform-tools/adb.exe
The activity name can be found in the build/android/AndroidManifest.xml file.
It's usually: YourAppNameActivity
More information about logcat can be found here:
https://logmatic.io/blog/a-how-to-guide-to-debugging-with-android-logcat/
https://developer.android.com/studio/command-line/logcat.html

RabbitMQ fails on Error: unable to connect to node rabbit#TPAJ05421843: nodedown

On a Windows 7 Enterprise machine, I made a fresh install of Erlang 17.4 and RabbitMQ 3.4.3 x64. The installation was successful and uneventful.
I have not yet tried to create my first queue or exchange, but I already see trouble. This problem is similar to another SO post, but that other post appears to involve clustering, which I don't have. Furthermore, that other poster can circumvent his issue by restarting the RabbitMQ service; that approach does not work for me.
My "nodedown" problem is evident at the RabbitMQ command prompt:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl status
Status of node rabbit#TPAJ05421843 ...
Error: unable to connect to node rabbit#TPAJ05421843: nodedown
DIAGNOSTICS
attempted to contact: [rabbit#TPAJ05421843]
rabbit#TPAJ05421843:
* connected to epmd (port 4369) on TPAJ05421843
* epmd reports: node 'rabbit' not running at all
other nodes on TPAJ05421843: ['RabbitMQ']
* suggestion: start the node
current node details:
- node name: 'rabbitmqctl-19884#TPAJ05421843'
- home dir: H:\
- cookie hash: PD4QQCYrf0TME9vIko3Xuw==
Based on the above, I chose to check the status of the node explicitly named 'RabbitMQ'. I get this:
C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.4.3\sbin>rabbitmqctl -n RabbitMQ status
Status of node 'RabbitMQ#TPAJ05421843' ...
Error: unable to connect to node 'RabbitMQ#TPAJ05421843': nodedown
DIAGNOSTICS
attempted to contact: ['RabbitMQ#TPAJ05421843']
RabbitMQ#TPAJ05421843:
* connected to epmd (port 4369) on TPAJ05421843
* epmd reports node 'RabbitMQ' running on port 59301
* TCP connection succeeded but Erlang distribution failed
* suggestion: hostname mismatch?
* suggestion: is the cookie set correctly?
current node details:
- node name: 'rabbitmqctl-23076#TPAJ05421843'
- home dir: H:\
- cookie hash: PD4QQCYrf0TME9vIko3Xuw==
Ok, this is barely better since at least it acknowledges 'RabbitMQ' running on port 59301. But what the heck could it mean that "Erlang distribution failed"?
When I try to research this topic, I found articles saying "be sure you have matched cookies." Based on that I found this article, which claims the "cookie mismatch" does not pertain to me, because I have not created (nor intend to create) a RabbitMQ cluster.
What should I do?
I had this same problem today. There were no cookie or firewall problems and windows reported that the service was running successfully. This is what finally fixed it:
Run RabbitMQ sbin command prompt as administrator.
Run "rabbitmq-service remove"
Run "rabbitmq-service install"
For some reason the service set up by the installer did not configure several registry entries. Running this set them correctly and allowed the service to run.
One thing I noticed was that before I did this, there was no description of the service in the Windows Services view. After installing with the rabbitmq-service command, the description was visible. This might be a quick indicator if you are having the same problem.
As #eddyP commented, I had two different Erlang cookie files:
A server cookie file, located at $env:WINDIR\system32\config\systemprofile\.erlang.cookie (prior to Erlang 20.2 it was located at $env:WINDIR\.erlang.cookie).
A client cookie file, located at $env:USERPROFILE\.erlang.cookie.
Copying the server cookie file over the client one, so that both files were the same, fixed the problem for me.
For further details, see "How Nodes (and CLI tools) Authenticate to Each Other: the Erlang Cookie".
From RabbitMQ Command Prompt sbin (run as administrator) execute this command:
rabbitmq-server restart
In Windown, For some reason delete all folder in c:\Users\xxx\AppData\Roaming\RabbitMQ\db\ (xxx is your username)
then flow #Jerdev answer and
start rabbitmq net start rabbitmq
check rabbitmq service rabbitmqctl status
The same question on the RabbitMQ mailing list: https://groups.google.com/forum/#!topic/rabbitmq-users/0s1ExFhl4hM.
The Erlang cookie is used by rabbitmqctl as well as server nodes, so it may need being taken care of (placed in the correct location).
See "Installing as a non-administrator user leaves .erlang.cookie in the wrong place" on Windows quirks.
I resolve my problem doing this in Windows 10.
Execute RabbitMQ Command Prompt (sbin dir) as administrator.
Execute "rabbitmq-service remove" in (RabbitMQ Command Prompt).
Execute %AppData% in Run Dialog Box of Windows.
Delete all files in RabbitMQ folder.
Execute "rabbitmq-service install" in (RabbitMQ Command Prompt).
Execute "rabbitmqctl start_app" in (RabbitMQ Command Prompt).
If you come here looking for a linux answer for the same error message, try
sudo service rabbitmq-server start
(which is not a blocking command)
Just do the following:
Uninstall rabbitmq and erlang.
delete the rabbitmq folder existing in your appdata (if you dont
know the appdata location, just type echo %AppData% in the command
prompt)
Then install erlang first and then rabbitmq.
After installing, enable the management plugin using below command:
rabbitmq-plugins enable rabbitmq_management
For me the cookies didnt match, like the other comments but the locations was in a different path for those having the same issue as me C:\Windows\System32\config\systemprofile
That is happening because rabbit MQ is not being installed correctly on Windows (and this error is misleading!). So to solve it do the following:
type "cmd" in Cortana search or in "Run" for older version of Windows
right click on in and choose "Run as Administrator"
go to rabbit's sbin folder (cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.4\sbin")
run: rabbitmq-service remove
run: rabbitmq-service install
now you can run
6. rabbitmq-plugins enable rabbitmq_management
7. rabbitmq-service start
8. and, finally, run: start http://localhost:15672
9. log on as user "guest" with password: "guest" and that's it. Happy Rabbiting!
I missed restarting my WINDOWS OS and then deleting the old version of ERLANG (which I uninstalled before restarting).
Somehow the fresh installation of Rabbit was referring to the old (un-installed version) and all the mismatch was happening. Clue was the 'services' referred Rabbit from the old ERLANG version.
This is how I resolved the error in my Windows 8 system:
Check for a syntax error in the rabbitmq.config file placed in the AppData folder for Windows.
How to check if there is any syntax error?
You can run rabbitmq-server restart from sbin folder in:
Program Files/RabbitMQ/rabbitmq_server_x.x/sbin/.
Replace the content of the rabbitmq.config with rabbitmq.config.example.
You may find the rabbitmq.config.example in:
Program Files/RabbitMQ/rabbitmq_server_x.x/etc/
Warning, you will lose the configuration you have saved previously with rabbitmq.
After changing the files, just hit
rabbitmq-server restart
in the sbin folder mentioned above.

Titanium Studio and VirtualBox Android x86

Step by step: 0) Install Appcelerator Titanium Studio.
1) Install Oracle VirtualBox.
2) Download and Install Android x86 VM. Instructions (Russian) here http://habrahabr.ru/post/119931/
3) Run and configure Android x86 (configure means that you should have 2 ethernet adapters and your Android x86 Virtual Machine(VM) must have an IP (for example 192.168.56.101))
3.5) try to ping your VM. Everithing should works just fine.
4) Run you Titanium studio and create an new project.
5) Run command line and from %Android SDK%/platform-tools/ directory perform operation
"adb connect 192.168.56.101".
it has to connect to VM successfully on port 5555.
Note: IF you not did this your Titanium Studio will log something like this
[DEBUG] ...\AndroidSDK\platform-tools\adb.exe start-server
[INFO] Titanium SDK version: 2.1.4 (11/09/12 12:46 51f2c64)
[DEBUG] Waiting for device to be ready ...
[TRACE] adb devices returned 0 devices/emulators
[TRACE] adb devices returned 0 devices/emulators
[TRACE] adb devices returned 0 devices/emulators
6) Try to install your Titanium Application on the DEVICE. As a platform i select Android 4.0.3 [x86]
6.5) Titanium studio would do a lot of work and it ends with:
[DEBUG] Waiting for device to be ready ...
[TRACE] adb devices returned 1 devices/emulators
[DEBUG] Device connected... (waited 0 seconds)
[DEBUG] waited 0.015000 seconds on emulator to get ready
[INFO] Installing application on device
7) Titanium successfully found the and have connected to the device? compiled all of the resources and trying to install your application to the device with this:
"C:\!Development\AndroidSDK\platform-tools\adb.exe -d install -r C:\!Development\Titanium\china\build\android\bin\app.apk"
But there is not matter how much time you will wait it won't install.
What is the problem? What i did wrong?
You have to make corrections to the file:
%HOME%\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\android\builder.py
according to the screenshots in this article (Russian).
Can't this help?
It seems that you need to use adbhost
http://code.google.com/p/android-on-freerunner/wiki/AndroidDebugBridge
Here is the manual from xda to make it through wifi
How can I connect to Android with ADB over TCP?
Since the Link in ReinRaus 's post is down, i wanted to share the solution with you guys:
Get to %APPDATA%/Titanium/mobilesdk/win32/3.1.3.GA/android and open up builder.py
(Note: Replace 3.1.3.GA with your Version)
At around line #2601 you find:
device_args = ['-d']
# We have to be careful here because Windows can't handle an empty argument
# on the command line, so if a device serial number is not passed in, but
# a debugger_host (the argument after device serial number) _is_ passed in,
# to Windows it just looks like a serial number is passed in (the debugger_host
# argument shifts left to take over the empty argument.)
This is the line which causes the Install Script to force USBDebug mode, as seen in the Log while deploying:
[DEBUG] XX/sdk/platform-tools/adb.exe -d shell ls /data/app/xx.yyy.zzz*.apk
Change the args to ['-a']. This will stop forcing USB Devices only and you should be fine

MPICH2 Unable to Connect in Windows 7

whenever i try command mpiexec -n 4 testmpi.exe
Unable to connect to 'RIJDZUAN-PC:8676', sock error: generic socket
failure, error stack: MPIDU_Sock_post_connect(1200): unable to connect
to RIJDZUAN-PC on port 8676, ex hausted all endpoints (errno -1)
MPIDU_Sock_post_connect(1247): unable to connect to RIJDZUAN-PC on
port 8676, No connection could be made because the target machine
actively refused it. (errno 10061)
and when i try to smpd -install or smpd -start giving me
OpenSCManager failed: Access is denied. (error 5)
i believe i'd already registering mpiexec over mpiexec -register
how to resolve this?
I got this message as well. Turns out when the installer says "successful" but smpd is not running, then the install is silently incorrect.
Copied (and slightly altered) from here
Uninstall previous version of MPICH2
Open an admin command prompt by right-clicking on the command prompt icon and selecting "run as administrator"
Run "msiexec /i mpich2-1.3.2p1-win-ia32.msi" from the admin command prompt to install MPICH2
During installation select that MPICH2 be installed for "Everyone" for all users.
Run wmpiconfig and store username/password. EDIT: Use your REAL windows login name and password.
Add "C:\Program Files\MPICH2\bin" to system Path and EDIT: no need to reboot
Check smpd using 'smpd -status'. it should return 'smpd running on $hostname$'
To test execution environment, go to the directory $MPICHROOT\examples and run cpi.exe using: 'mpiexec -n 4 cpi'
You can follow the above steps even if you are not logged in as an admin user. Just make sure to follow step 2 closely. If you see
OpenSCManager failed: Access is denied
It probably means you are not on an admin command prompt. If step 7 checks out, you should be good to go.
run CMD as an admin, and after words run the smdp -install comand.

Resources