Thank you very much for your help. I haven't been able to determine
the application data directory on my physical phone (Nexus S), but the
emulator's path is "data/data", and the program fails there as well.
I'm wondering if the files are failing to upload to the lib folder at
all. The guide doesn't mention anything, but does anything need to be
done to load those files (besides including SuperColliderActivity as a
library)? The Android Developer page linked to in the guide mentions
a <use-library> tag in the manifest, but after looking at that, I
wasn't sure it was relevant. Adding it results in an
"INSTALL_FAILED_MISSING_SHARED_LIBRARY" error.
Thank you again for your help.
Source:
package tadams.scTest;
import android.app.Activity;
import android.media.AudioManager;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import net.sf.supercollider.android.SCAudio;
import net.sf.supercollider.android.ScService;
import net.sf.supercollider.android.OscMessage;
public class HelloSuperColliderActivity extends Activity implements
OnTouchListener {
public static final String dllDirStr = "/data/data/tadams.scTest/
lib";// Where to find the plugin DLLs
//public static final String dllDirStr = "/Android/data/
net.sf.supercollider.android/lib";// Where to find the plugin DLLs
private SCAudio superCollider;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Starting SuperCollider:
superCollider = new SCAudio(dllDirStr);
superCollider.start();
superCollider.sendMessage(OscMessage.createSynthMessage("default",
999, 0, 1));//create synth
}
...
}
Complete Error (chopped off bottom last time):
03-24 00:20:43.057: D/dalvikvm(539): Not late-enabling CheckJNI
(already on)
android.os.Handler.dispatchMessage(Handler.java:99)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.os.Looper.loop(Looper.java:137)
03-24 00:20:43.597: E/AndroidRuntime(539): at
android.app.ActivityThread.main(ActivityThread.java:4424)
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.reflect.Method.invokeNative(Native Method)
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.reflect.Method.invoke(Method.java:511)
03-24 00:20:43.597: E/AndroidRuntime(539): at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-24 00:20:43.597: E/AndroidRuntime(539): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-24 00:20:43.597: E/AndroidRuntime(539): at
dalvik.system.NativeStart.main(Native Method)
03-24 00:20:43.597: E/AndroidRuntime(539): Caused by:
java.lang.UnsatisfiedLinkError: Couldn't load sndfile: findLibrary
returned null
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.Runtime.loadLibrary(Runtime.java:365)
03-24 00:20:43.597: E/AndroidRuntime(539): at
java.lang.System.loadLibrary(System.java:535)
03-24 00:20:43.597: E/AndroidRuntime(539): at
net.sf.supercollider.android.SCAudio.<clinit>(SCAudio.java:56)
03-24 00:20:43.597: E/AndroidRuntime(539): ... 15 more
Manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="
http://schemas.android.com/apk/res/android"
package="tadams.scTest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- <uses-library
android:name="
net.sf.supercollider.android" />-->
<activity
android:name=".HelloSuperColliderActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
On Mar 25, 12:22 pm, Dan Stowell <
danstow...@gmail.com> wrote:
> Hi -
>
> "/data/data/
net.sf.supercollider.android/lib" may be wrong depending
> on your android device. Do you know where application data is normally
> stored? If so change the first bit "/data/data". There is in fact an
> android SDK call to ask where the data folder is, and maybe you can
> use that and it'll work fine - on our development device (a while ago
> now, many android versions ago) that call didn't work properly.
>
> Best
> Dan
>
> 2012/3/24 Trevor Adams <
trevorbad...@gmail.com>:
>
>
>
>
>
>
>
>
>
> > Hello there.
>
> > I've been trying to to make a simple application using SC following
> > this tutorial:
>
> >
https://github.com/glastonbridge/SuperCollider-Android/wiki/Use-Super...