以下のコードをUnity2018.2.18でAndroidビルドするとAndroidJNIHelper.ConvertFromJNIArray<bool[]>(javaBoolArray)InvalidCastExceptionが起きてしまう。
他にもプリミティブ型だとchar[]で同じ例外が起きる。
Unity2018.1やUnity2018.3でビルドすると問題がない。何ぞこれ。

[ANDROID] ANDROIDJAVAPROXY CAUSES ANDROIDJAVAEXCEPTION WHEN A BYTE ARRAY ARGUMENT IS PASSEDが似てるけど影響するUnityのバージョンが違うのでちょっと違うようだ。

Unity Bug Reporterで報告したらバグを認識してくれたもののUnity2018.3とUnity2019.1で動くって言われた…それは分かってんねーん!

using System;  
using UnityEngine;  

public class NewBehaviourScript : MonoBehaviour {  

    void Start ()  
    {  
        BoolArray();  
        StringArray();  
    }  

    void BoolArray()  
    {  
        bool[] boolArray = { true, false };  
        var javaBoolArray = AndroidJNIHelper.ConvertToJNIArray(boolArray);  
        try  
        {  
            /***** ここでInvalidCastException *****/  
            var result = AndroidJNIHelper.ConvertFromJNIArray<bool[]>(javaBoolArray);  
            foreach (var b in result)  
            {  
                Debug.Log("b: " + b);  
            }  
        }  
        catch (Exception e)  
        {  
            Debug.LogException(e);  
        }  
    }  

    void StringArray()  
    {  
        string[] stringArray = { "foo", "bar" };  
        var javaStringArray = AndroidJNIHelper.ConvertToJNIArray(stringArray);  
        try  
        {  
            /***** こっちは問題なし *****/  
            var result = AndroidJNIHelper.ConvertFromJNIArray<string[]>(javaStringArray);  
            foreach (var s in result)  
            {  
                Debug.Log("s: " + s);  
            }  
        }  
        catch (Exception e)  
        {  
            Debug.LogException(e);  
        }  
    }  
}