そこで、https://github.com/libpd/pd-for-androidから git リポジトリを取得し、「AmazingSynthesizer」用に Android Studio で新しい空のプロジェクトを作成しました。
「モジュールのインポート」ウィザードを使用して、PdCore と AndroidMidi をインポートしました。次に、「アプリ」を右クリックして「モジュール設定」を表示します。依存関係の下に、モジュールの依存関係として PdCore を追加しました。また、「PdCore」の依存モジュールとして AndroidMidi を追加しました。
これまでのところ、それは私には正しいように思えました。私のアプリの build.gradle にはライブラリが含まれており、MainActivity に PdDispatcher をインポートできます。問題は、ネイティブ ライブラリがまだ不足しているように見えることです (私はそう思います!)。
libpd の公式本 (Making Musical Apps by Peter Brinkmann) の非常に基本的なサンプル コード
PdAudio.initAudio(sampleRate, 0, 2, 8, true);
惨めに失敗する
java.lang.UnsatisfiedLinkError: Couldn't load pd from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.app.amazingsynthesizer-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.app.amazingsynthesizer-1, /vendor/lib, /system/lib]]]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:358)
at java.lang.System.loadLibrary(System.java:526)
at org.puredata.core.PdBase.<clinit>(PdBase.java:55)
at org.puredata.android.io.PdAudio.startAudio(PdAudio.java:86)
at com.app.amazingsynthesizer.MainActivity.onResume(MainActivity.java:62)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192)
at android.app.Activity.performResume(Activity.java:5310)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2764)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2803)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2238)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)