首页 > 解决方案 > 使用 xamarin.andriod JNI 从 android AAR 文件调用活动的问题

问题描述

您好我正面临在 xamarin android 项目中使用 AAR 文件。我在我的 xamarin android 中添加了 android AAR 文件并将其构建类型设置为“AndroidAarLibrary”。以下是 xamarin 中用于调用 AAR 文件中定义的活动的 c# 代码。

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);

现在相应的活动被成功调用,UI 显示图像编辑器属性。但是,当单击 UI 中的过滤器选项时,它会引发错误,并且应用程序会因以下错误消息而关闭:

CheckJNI:在给定类中注册“rsnScriptReduce”的方法。这很慢,请考虑更改您的 RegisterNatives 调用。无法在 /data/app/mono.samples.jnitest-1/base.apk 中注册本机方法 android.support.v8.renderscript.RenderScript.rsnScriptReduce(JJI[JJ[I)V ----- class 'Landroid/支持/v8/renderscript/RenderScript;' cl=0x32c07070 -----

我认为有些类在生成 apk 或无法访问时不包括在内。请让我知道我是否正在做任何事情,或者是否有人以前使用过这种方法。这是对应 xamarin 项目的谷歌驱动链接https://drive.google.com/open?id=13r5FPLhbf75ERBqJI858kubmVARitZ74

xamarin 输出的完整日志文件链接:https ://drive.google.com/open?id=1doDkuUR7P25TfBfGz_QHn3m_TsGQ3MNo

注意:我想使用来自https://www.dsphotoeditor.com的照片编辑器 AAR 库

标签: xamarin.androidjava-native-interfacejnienvxamarin-binding

解决方案


推荐阅读