Проблема в использовании xamarin.andriod JNI для вызова активности из файла Android AAR - PullRequest
0 голосов
/ 12 сентября 2018

Привет, я столкнулся с использованием файла AAR в проекте xamarin android. Я добавил Android-файл AAR в свой xamarin android и установил его тип сборки на «AndroidAarLibrary». Ниже приведен код c #, используемый в xamarin для вызова действия, определенного в файле AAR.

var clsName = Java.Lang.Class.ForName("com.dsphotoeditor.sdk.activity.DsPhotoEditorActivity");
var innt = new Intent(this, clsName);
innt.SetData(inputImageUri); //Set image uri
innt.PutExtra("ds_photo_editor_api_key", "26c479d17c220131bec7b6e29e070ad89f3e6cf4");
innt.PutExtra("ds_photo_editor_output_directory", "ds_photo_editor_sample");
StartActivityForResult(innt, DS_PHOTO_EDITOR_REQUEST_CODE);

Теперь соответствующая операция вызывается успешно, а пользовательский интерфейс показывает свойство редактора изображений. Но при выборе параметров фильтра в пользовательском интерфейсе возникает ошибка, и приложение закрывается с сообщением об ошибке:

CheckJNI: метод для регистрации «rsnScriptReduce» не в данном классе. Это медленно, рассмотрите возможность изменения вызовов RegisterNatives. Не удалось зарегистрировать собственный метод android.support.v8.renderscript.RenderScript.rsnScriptReduce (JJI [JJ [I) V в /data/app/mono.samples.jnitest-1/base.apk ----- класс 'Landroid / support / v8 / renderscript / RenderScript;' cl = 0x32c07070 -----

Я думаю, что некоторые классы не включены при создании apk или недоступны. Пожалуйста, дайте мне знать, если я что-то делаю или кто-то использовал этот подход раньше. Это ссылка Google Drive на соответствующий проект xamarin https://drive.google.com/open?id=13r5FPLhbf75ERBqJI858kubmVARitZ74

Ссылка на полный файл журнала вывода xamarin: https://drive.google.com/open?id=1doDkuUR7P25TfBfGz_QHn3m_TsGQ3MNo

Примечание: я хочу использовать фоторедактор AAR из https://www.dsphotoeditor.com

...