USB Midi driver for Android crashes - android

I am trying to use this USB-MIDI-Driver https://github.com/kshoji/USB-MIDI-Driver in my project. I added the driver using gradle,
maven {url 'https://github.com/kshoji/USB-MIDI-Driver/raw/master/MIDIDriver/snapshots'}
...
compile 'jp.kshoji:midi-driver:0.1.1:#aar'
copied the sample (https://github.com/kshoji/USB-MIDI-Driver/blob/master/MIDIDriverSample/src/jp/kshoji/driver/midi/sample/UsbMidiDriverSampleActivity.java), removed the "play audio" part and started the activity from my MainActivity.
My problem is, that with time it gets slower and slower, it misses events, I skip frames, the ui becomes unresponsive, the device is detatched and my app crashes more or less... The pre-compiled project from Google Play Market works fine though.
The only thing I can think of is that I use the wrong version of the driver or sample... Is there anyone who had a similar problem and can help me?

I did not really find an answer but followed kshojis comment in Send MIDI messages over USB on Android and tried the alternative driver he suggests (http://www.humatic.de/htools/nmj/).
nmj seems to use much less resources but requires you to interpret midi-events. http://www.petesqbsite.com/sections/express/issue18/midifilespart1.html is a nice resource on how to read midi.

Related

ANT+ SDK - requestAccess faild (Other failure)

I'm trying to develop own Android application using ANT+ sensors.
My app is based on (developer's Sampler code and SDK).
However I found the strange thing during tests. I mean when I start to searching devices I immediately receive a message:
W/AntPluginPcc: BBD30600: RequestAccess failed: OTHER_FAILURE
At first I suppose that a reason of this problem is that I have a phone with Marshmallow OS (instead my wife's phone is based on Lollipop OS and all works fine). I tried to find anything in documentation related this but didn't find anything interesting. I add to Manifest some permissions (I mean com.dsi.ant.permission.ANT, android.permission.BLUETOOTH etc.) and set the permissions in code, but it doesn't help to me to solve my issue.
May be anybody received this problem and may be somebody solve it. Could you please share your solution to me?
P.S. I install the ANT+ Plugin services, ANT Radio Service. in App I use the ANT+ SDK from github. May be I should use also the ANT SDK? (I want to connect to HRM and cycle devices which use ANT+ protocol)
If you have the same problem as I you need to realize the AntRadioServiceConnection class.
I found it here.
And you should be sure that you have all services and plugins installed on your phone.

Android game crashed after displaying unity's splash screen

I found this question on different forums but they didn't helped me to find solution of my issue. I had port unity(5.4) game on my android device (OS 4.4). When i opened the game it crashed after displaying unity's default splash screen. I wonder, it was working fine on unity's editor but didn't worked well on device.
Here is the logcat file link. Please let me know if i can provide any additional information that may help to track the issue. Many thanks.
Regards,
Ali
90% it's native plugins. Try to remove all your native android plugins. You can find them under Plugins/Android folder. You also need to remove all links or scripts that uses those plugins. Don't forget to make a back up. If your app won't crash, replace them with some others or connect with plugin development support.
I found the solution. I followed following steps.
Solution
Go to 'Player Settings' -> 'Other Settings'. Uncheck Auto
Graphic Api. Remove 'OpenGLES2' from list.
Test your game on better android device. In my case i tested on Samsung Glaxy S5.
If solution doesn't work
Remove all objects from scene. Port the project and test, if that
works, it means you need to remove unnecessary objects from scene
that need a lot of render power to load on mobile device.
Make sure your Android SDK is uptodated a long with JDK.
Just make sure Virtual Reality support is unchecked

Android Cordova 5.0+ Camera crash

We are using Cordova 5.0.0 and its cordova-camera-plugin
When we are testing it on Android, the app crashes when the user takes a photo.
Looking at the links below, it seems that our app is being killed while the camera app it on front.
PhoneGap camera restarts the application
https://github.com/shaithana/cordova-plugin-wezka-nativecamera
While there are some answers but it seems to be outdated: The foreground camera plugin is not suitable to newer devices or Cordova and other solutions didn't work for us
Does anyone have an up-to-date solution?
Try to use this forked cordova-android and cordova-plugin-camera.
The docs, sample and discussion on the approach used can be found in the cordova-android PR.
BTW, the PRs are going to be merged soon.
First question that comes to my mind is: Why using this camera plugin: https://github.com/shaithana/cordova-plugin-wezka-nativecamera
It's obviously a fork. You might have a good reason for that. It's also outdated. Last contribution was one year ago.
Maybe you want to give the "official" plugin a shot:
https://github.com/apache/cordova-plugin-camera
Going deeper into detail without knowing more about your testing environment (which device(s) with which Android version) and without having possibility to review entire related code, is not possible and answers may not give any reliable advice for change.
Have you ensured, that the call to the camera plugin cannot happen before "deviceready" was triggered? Is cordova.js loaded?
Update:
You may also want to switch from raw alerts to console output. I recognized several times that alerts in callbacks triggered from plugins could cause some trouble.
As a general rule of thumb: Use console.log() instead of alert() and connect with Chrome (chrome://inspect) to the emulator or device to see what happens. You can additionally use adb logcat to have a look into the device log.

INSTALL_FAILED_DEXOPT when using GreenDao

Background
I wanted to simplify the usage of DB in an Android app.
For this, I've compared some third party libraries that create a DAO layer.
I've come up with a nice library called "GreenDao" (presentation about it here) . The website shows that it's faster than other competitors (like ORMLite) and is optimized for Android.
The problem
For some reason, on some device (usually old devices, with GB) , I get the next console error when trying to install the app:
Installation error: INSTALL_FAILED_DEXOPT
Please check logcat output for more details.
Launch canceled!
I've searched for the reason of this error, but couldn't find out how to solve it. Many complain about this error, but I can't find out why it occurs, and what can be done.
The error is quite common and known, but it's never mentioned as the result of using this library, yet when I remove the usage of this library, everything works fine...
Also note that on newer devices (like nexus 4) it installs and works just fine, and that the sample itself also works fine no matter which device I test it on.
The question
Why does it occur?
Is it possible that the structure of the classes is just too much for old devices to load, since we use other libraries ?
Could it be that I've reached the limit of code that is supported by android apps?
The jar file itself takes just 87KB ...
How can I solve this?
Ok, I've found the problem and the solution:
It has nothing to do with GreenDao.
It's because the app uses too many jars, so maybe Android has a limitation of code.
The solution is to either delete un-needed jar files or delete a lot of code.

Installing the ADT Plugin for Eclipse

I am trying to install the ADT plugin for Eclipse. However, after I have went to "Install New Software..." and entered the plugin location https://dl-ssl.google.com/android/eclipse/, "Pending..." is displayed. It does not change to "Developer Tools" no matter how long I wait. (I have also tried "http://dl-ssl.google.com/android/eclipse/)
To get around this I tried downloading the current ADT Plugin zip file, but this does not work either. "Developer Tools" appears, but when I click "Next" it does not move past "Calculating requirements and dependencies."
Please provide a solution to the problem of either approach. Thanks.
I had the same problem. It started working when I unchecked the box labeled
"Contact all update sites during install to find required software".
Goto Preferences->Network Connections and set the correct option (native/direct as per your proxy settings on your network) restart eclipse and try again. [Switching to direct worked for me at home, however in office i had to configure it to native..] (Proxy settings require restart of eclipse IDE on some machines to take effect)
Ensure that your eclipse has all android toolkit dependencies (wst/emf...) installed (http://developer.android.com/resources/faq/troubleshooting.html#installeclipsecomponents)
Update
The logged error you provided leads to Install from updatesite hangs under Java 7 and in turn Eclipse Bug 362741 - downloads from update sites hang - (3.7.1 Indigo SR1 windows), see comment 6 specifically (you already applied comment 7).
Please note that while this seems to be a JDK 7 problem at first sight, the linked Java Bug 7077696 - java.net.Socket closes when "PASV" is sent on an authenticated FTP connection classifies the issue as a REGRESSION. Last worked in version 6u26, while you are using 6u30 already. Accordingly, the issue is reported to be fixable by switching to Java 6 elsewhere (implying an earlier version), see e.g. Cannot do any software installs using jdk1.7.0_01 (which uses 6u22):
However, everything works right if I then change the eclipse.ini to
change the vm to JDK 1.6:
-vm C:\Java\jdk1.6.0_22\bin\javaw.exe
Oracle's Evaluation concludes, that This does not appear to be a JDK bug, rather it's just the Windows firewall recognizing and blocking the ftp protocol.:
The only
difference between JDK7 and older releases is that the JDK is using
IPv6 sockets when IPv6 is enabled and so IPv4-mapped IPv6 addresses
are used. it may be that Windows or the firewall is not configured to
allow IPv6 sockets. [...]
Accordingly, they list a Workaround as well:
Run with -Djava.net.preferIPv4Stack=true
add a firewall exception for the Java binary.
run with -Djava.net.preferIPv4Stack=true (which disables IPv6 and uses AF_INET sockets exclusively)
or disable stateful FTP inspection in the firewall (registry setting or netsh command)
The firewall adjustment seems to be a confirmed workaround as per comment #4 in Socket Exception only in Java 7 (though simply turning it off like there should be handled with care of course).
Good luck!
Presumably you are already aware of Robamaton's answer to Eclipse, Android Plug-in, Install New Software just says “pending” (there are many ADT related questions and strangely it didn't show up immediately in a respective search)? It basically comes down to Codejammer's hint towards Preferences->Network Connections (+1), though with an explanation why it might still fail on your network regardless, see the comments:
Oh, I read that it doesn't respond to general requests from browsers.
In any case, network admin confirms it's making a socks connection,
but then doing nothing further.
and
Ok, further to previous comment, it's probably trying to connect via.
socks 5 - but our network only has socks 4. Admin is going to run the
5 version to see if it then works.
Workaround
Regardless of whether the socks 4 vs. socks 5 proxy settings are actually the problem, a potential workaround might be to install Eclipse and ADT on a different system (ideally on a different network), and copy the resulting folder to yours thereafter (after all, an Eclipse installation is simply a collection of files).
When doing so, please ensure to match 32- vs. 64-bit regarding both the JDK and Eclipse between the source and the target system, because a mismatch would yield other problems (see e.g. my answer to Failed to load the JNI shared library on starting Eclipse).
What versions of eclipse are you using?
In Helios I was able to install the plugin by going to Help -> Eclipse MarketPlace -> Yoxos MarketPlace (Second Icon at the bottom) and search for ADT and install.
If you were unable to get network update working, please try downloading the ADT zip package and installing locally as the download page says.
http://developer.android.com/sdk/eclipse-adt.html
I find these google sites very difficult to connect with from certain networks, but not from others.
Here in Germany, I had terrible trouble going through Alice, but none going through Deutsche Telekom.
Sometimes I could reach the dl-ssl host from Alice, but in some later operation it would hang then time out.
A day or so later, I might be able to make a connection again. Some people say they had luck going through a proxy, or by changing "http" to "https". I also saw this.
Here's what I think is going on.
First, Eclipse is miserably buggy, and handles unexpected situations very badly (for example, catching all exceptions, but failing to provide the exception's message!!), particularly when it comes to unresponsive links. It reminds me of the stock story of the mentally disturbed psychiatrist.
It looks as though the google server is badly configured, possibly as a naive protection mechanism meant to repel denial-of-service attacks: it only handles a few connection requests within a certain time frame from hosts certain networks, and if it gets too many requests, it locks out connections with the host for a long time.
Unfortunately, a single Eclipse update might require many connections in rapid succession; somebody unsure of how to configure Eclipse the first time will likely trip the Google booby-trap.
In my case, I was able to download what I needed by carefully choosing a subset of the available software, being very patient, and if I got locked out, just waiting a day until it let me in again.
Cheers!
I had the same problem and it was driving me nuts. I kept trying for a couple of hours--getting the same error message--and at once it worked! So if I were you I'd just leave it for a bit and come back in a couple of hours and try again. There are several other suggested solutions online that I found, but neither of those seemed to make a difference.
I've faced with the same problem before. In my case this was a problem that I was working under the proxy. I think you also work behind a proxy.
I've solved this problem in the following way. Find the SDKManager.exe and run it. In this program find proxy configuration and fill it there. Then from this program try to update your SDK (maybe this will require you to restart this program).
I do not know why but Eclipse proxy configuration is not working in case of Android ADT.
P.S. You have to use JDK 6 (or 5), not JDK 7!!!
Use Following link to update ADT Pligins.
https://dl-ssl.google.com/android/eclipse/site.xml
The only answer I found out when I got this problem was to download the latest 'Eclipse Indigo for Java', updating the ADT and android SDK.
After few hours, everything was normal.
Turning off IPv6 worked for me.
In my case I use proxy setting, and I follow the instruction of this post. But just one small modification: the SOCKETS setting should be clear and empty as suggested by here

Categories

Resources