Java JNI在c++;
我正在为android开发同一个应用程序,我受到堆限制,因此我想在JNI中创建列表,并使用该双列表以相同的速率将行(一些float[]流到表中的新行),最后只为其他员工生成float[][]矩阵。但是函数addtotable在CallBooleanMethod上崩溃了,但是我检查了我插入的值是否正确,那么我的错误在哪里呢?我将感谢你的帮助。谢谢Java JNI在c++;,java,android,java-native-interface,Java,Android,Java Native Interface,我正在为android开发同一个应用程序,我受到堆限制,因此我想在JNI中创建列表,并使用该双列表以相同的速率将行(一些float[]流到表中的新行),最后只为其他员工生成float[][]矩阵。但是函数addtotable在CallBooleanMethod上崩溃了,但是我检查了我插入的值是否正确,那么我的错误在哪里呢?我将感谢你的帮助。谢谢 #include <cstring> #include <jni.h> #include <cinttypes> #
#include <cstring>
#include <jni.h>
#include <cinttypes>
#include <string>
#include <android/log.h>
#define LOG(...) \
((void)__android_log_print(ANDROID_LOG_INFO, "hash-table::", __VA_ARGS__))
extern "C" JNIEXPORT jobject JNICALL
Java_com_example_core_data_HashTable_AllocateHashTable(JNIEnv* env, jobject obj, jint columns, jint rows)
{
// java.util.List;
jclass arrayClass = env->FindClass("java/util/ArrayList");
jmethodID init = env->GetMethodID(arrayClass, "<init>", "(I)V");
jmethodID add = env->GetMethodID(arrayClass, "add", "(Ljava/lang/Object;)Z");
jobject array2D = env->NewObject(arrayClass, init, columns);
for (jint i = 0; i < columns; i++)
{
jobject array1D = env->NewObject(arrayClass, init, rows);
env->CallBooleanMethod(array2D, add, array1D);
env->DeleteLocalRef(array1D);
}
return array2D;
}
extern "C" JNIEXPORT void JNICALL
Java_com_example_core_data_HashTable_AddToTable(JNIEnv* env, jobject obj, jobject array2D, jfloatArray data)
{
// java.util.List;
jclass arrayClass = env->FindClass("java/util/ArrayList");
jmethodID get = env->GetMethodID(arrayClass, "get", "(I)Ljava/lang/Object;");
jmethodID add = env->GetMethodID(arrayClass, "add", "(Ljava/lang/Object;)Z");
jfloat *buf = env->GetFloatArrayElements(data, nullptr);
jsize len = env->GetArrayLength(data);
for (int i = 0; i < len; i++)
{
jobject array1D = env->CallObjectMethod(array2D, get, i);
env->CallBooleanMethod(array1D, add, buf[i]);
env->DeleteLocalRef(array1D);
}
}
extern "C" JNIEXPORT jobjectArray JNICALL
Java_com_example_core_data_HashTable_TableToFrame(JNIEnv* env, jobject obj, jobject array2D, jint capacity)
{
jclass arrayClass = env->FindClass("java/util/ArrayList");
jmethodID get = env->GetMethodID(arrayClass, "get", "(I)Ljava/lang/Object;");
jmethodID size = env->GetMethodID(arrayClass, "size", "()I");
//jmethodID array = env->GetMethodID(arrayClass, "toArray", "()[Ljava/lang/Object;");
jobjectArray frame = env->NewObjectArray(capacity, env->FindClass("[F"), NULL);
int height = env->CallIntMethod(array2D, size);
for (int i = 0; i < height; i++)
{
jobject row = env->CallObjectMethod(array2D, get, i);
int width = env->CallIntMethod(row, size);
auto *data = new jfloat[width];
for (int j = 0; j < width; j++)
{
data[j] = env->CallFloatMethod(row, get, j);
}
jfloatArray inner = env->NewFloatArray(width);
env->SetFloatArrayRegion(inner, 0, width, data);
env->SetObjectArrayElement(frame, i, inner);
delete data;
env->DeleteLocalRef(inner);
env->DeleteLocalRef(row);
}
return frame;
}
#包括
#包括
#包括
#包括
#包括
#定义日志(…)\
((无效)uuu android_u日志_u打印(android_u日志_u信息,“哈希表::”,uuu VA_uargs_uuu))
外部“C”JNIEXPORT作业对象JNICALL
Java_com_示例_core_data_HashTable_AllocateHashTable(JNIEnv*env、jobject obj、jint列、jint行)
{
//java.util.List;
jclass arrayClass=env->FindClass(“java/util/ArrayList”);
jmethodID init=env->GetMethodID(arrayClass,”,“(I)V”);
jmethodID add=env->GetMethodID(arrayClass,“add”,“(Ljava/lang/Object;)Z);
jobject array2D=env->NewObject(arrayClass、init、columns);
对于(jint i=0;iNewObject(arrayClass、init、rows);
env->CallBooleanMethod(array2D,add,array1D);
env->DeleteLocalRef(array1D);
}
返回阵列2d;
}
外部“C”JNIEXPORT void JNICALL
Java_com_示例_core_data_HashTable_AddToTable(JNIEnv*env、jobject obj、jobject array2D、jfloatArray data)
{
//java.util.List;
jclass arrayClass=env->FindClass(“java/util/ArrayList”);
jmethodideget=env->GetMethodID(arrayClass,“get”,“(I)Ljava/lang/Object;”;
jmethodID add=env->GetMethodID(arrayClass,“add”,“(Ljava/lang/Object;)Z);
jfloat*buf=env->GetFloatArrayElements(数据,nullptr);
jsize len=env->GetArrayLength(数据);
对于(int i=0;iCallObjectMethod(array2D,get,i);
env->CallBooleanMethod(array1D,add,buf[i]);
env->DeleteLocalRef(array1D);
}
}
外部“C”JNIEXPORT作业对象数组JNICALL
Java_com_示例_核心_数据_哈希表_表格框架(JNIEnv*env、jobject obj、jobject array2D、jint容量)
{
jclass arrayClass=env->FindClass(“java/util/ArrayList”);
jmethodideget=env->GetMethodID(arrayClass,“get”,“(I)Ljava/lang/Object;”;
jmethodID size=env->GetMethodID(arrayClass,“size”,“()I”);
//jmethodID array=env->GetMethodID(arrayClass,“toArray”,“()[Ljava/lang/Object;”;
jobjectArray frame=env->NewObjectArray(容量,env->FindClass(“[F”),NULL);
int height=env->CallIntMethod(array2D,size);
对于(int i=0;iCallObjectMethod(array2D,get,i);
int width=env->CallIntMethod(行,大小);
自动*数据=新的jfloat[宽度];
对于(int j=0;jCallFloatMethod(row,get,j);
}
jfloatArray-inner=env->NewFloatArray(宽度);
env->SetFloatArrayRegion(内部,0,宽度,数据);
env->SetObjectArrayElement(框架,i,内部);
删除数据;
env->DeleteLocalRef(内部);
env->DeleteLocalRef(行);
}
返回框;
}
java类
公共类哈希表{
私有列表表;
专用本机列表AllocateHashTable(int列,int行);
私有本机void AddToTable(列表表,float[]数据);
专用本机浮点[][]TableToFrame(列表表,整数容量);
静止的{
加载库(“哈希表”);
}
公共哈希表(int列、int行){
table=AllocateHashTable(列、行);
}
公共作废添加(浮动[]数据){
可添加(表格、数据);
}
公共int getRows(){
返回表.get(0.size();
}
公共int getColumns(){
返回table.size();
}
公共int[]getDim(){
返回新的int[]{getColumns(),getRows()};
}
公共浮动[][]toFrame(){
返回TableToFrame(table,getRows());
}
}
E/:[ZeroHung]zrhung\u get\u config:wp[0x0008]的get config失败
E/诺华:1.031.768799-28.839111-28.8391110.90600586-0.159423830.11840820.0
A/m.example.cor:indirect\u reference\u table.cc:78]JNI错误(应用程序错误):尝试使用过时的本地0x1(应为0x5)
A/m.example.cor:runtime.cc:565]运行时中止。。。
runtime.cc:565]转储未持有适当锁的所有线程:线程列表锁
runtime.cc:565]所有线程:
runtime.cc:565]DALVIK线程(38):
runtime.cc:565]“main”优先级=10 tid=1可运行
runtime.cc:565]| group=”“scont=0 dsCount=0 flags=0 obj=0x75f2c8f0 self=0x7e2dc15c00
runtime.cc:565]| sysTid=26417 nice=-10 cgrp=default sched=0/0 handle=0x7eb43cd548
runtime.cc:565]| state=R schedstat=(9470538543 471985952 4156)utm=871 stm=75 core=6 HZ=100
runtime.cc:565]| stack=0x7fe1c57000-0x7fe1c59000 stackSize=8MB
runtime.cc:565]|保持的互斥量=“中止锁”“变异锁”(共享保持)
runtime.cc:565]本机:#00 pc 0000000000 3C7D4c/system/lib64/libart.so(art::DumpNativeStack(std:u 1::basic_ostream&,int,BacktraceMap*,char const*,art::ArtMethod*,void*,bool)+220)
runtime.cc:565]本机:#01 pc 0000000000 4a5b64/system/lib64/libart.so(art::Thread::DumpStack(std::u 1::basic_ostream&,bool,BacktraceMap*,bool)const+352)
runtime.cc:565]本机:#02 pc 0000000000 4bf780/system/lib64/libart.so(art::DumpCheckpoint::Run(art::Thread*)+844)
runtime.cc:565]本机:#03 pc 0000000000 4B84fc/system/lib64/libart.so(art::ThreadList::RunCheckpoint(art::Closure*,art::Closure*)+484)
runtime.cc:565]本机:#04 pc 0000000000 4B7774/system/lib64/libart.so(art::ThreadList::Dump(std:u 1::basic_ostream&,bool)+500)
runtime.cc:565]本机:#05 pc 0000000000 47a580/system/lib64/libart.so(art::runtime::Abort(char const*)+388
E/: [ZeroHung]zrhung_get_config: Get config failed for wp[0x0008]
E/Novartis: 1.031.768799-28.839111-28.8391110.90600586-0.159423830.11840820.0
A/m.example.cor: indirect_reference_table.cc:78] JNI ERROR (app bug): attempt to use stale Local 0x1 (should be 0x5)
A/m.example.cor: runtime.cc:565] Runtime aborting...
runtime.cc:565] Dumping all threads without appropriate locks held: thread list lock
runtime.cc:565] All threads:
runtime.cc:565] DALVIK THREADS (38):
runtime.cc:565] "main" prio=10 tid=1 Runnable
runtime.cc:565] | group="" sCount=0 dsCount=0 flags=0 obj=0x75f2c8f0 self=0x7e2dc15c00
runtime.cc:565] | sysTid=26417 nice=-10 cgrp=default sched=0/0 handle=0x7eb43cd548
runtime.cc:565] | state=R schedstat=( 9470538543 471985952 4156 ) utm=871 stm=75 core=6 HZ=100
runtime.cc:565] | stack=0x7fe1c57000-0x7fe1c59000 stackSize=8MB
runtime.cc:565] | held mutexes= "abort lock" "mutator lock"(shared held)
runtime.cc:565] native: #00 pc 00000000003c7d4c /system/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+220)
runtime.cc:565] native: #01 pc 00000000004a5b64 /system/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool, BacktraceMap*, bool) const+352)
runtime.cc:565] native: #02 pc 00000000004bf780 /system/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+844)
runtime.cc:565] native: #03 pc 00000000004b84fc /system/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+484)
runtime.cc:565] native: #04 pc 00000000004b7774 /system/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, bool)+500)
runtime.cc:565] native: #05 pc 000000000047a580 /system/lib64/libart.so (art::Runtime::Abort(char const*)+388)
runtime.cc:565] native: #06 pc 0000000000008d20 /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+800)
runtime.cc:565] native: #07 pc 00000000002435a4 /system/lib64/libart.so (art::IndirectReferenceTable::AbortIfNoCheckJNI(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)+240)
runtime.cc:565] native: #08 pc 00000000002f0894 /system/lib64/libart.so (art::IndirectReferenceTable::GetChecked(void*) const+432)
runtime.cc:565] native: #09 pc 00000000004ab4c4 /system/lib64/libart.so (art::Thread::DecodeJObject(_jobject*) const+100)
runtime.cc:565] native: #10 pc 0000000000472de4 /system/lib64/libart.so (art::(anonymous namespace)::ArgArray::BuildArgArrayFromVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, art::ObjPtr<art::mirror::Object>, std::__va_list)+136)
runtime.cc:565] native: #11 pc 0000000000474350 /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+416)
runtime.cc:565] native: #12 pc 00000000003394e0 /system/lib64/libart.so (art::JNI::CallBooleanMethodV(_JNIEnv*,
_jobject*, _jmethodID*, std::__va_list)+656)
runtime.cc:565] native: #13 pc 0000000000000e84 /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/lib/arm64/libhash-table.so (_JNIEnv::CallBooleanMethod(_jobject*, _jmethodID*, ...)+208)
runtime.cc:565] native: #14 pc 0000000000001038 /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/lib/arm64/libhash-table.so (Java_com_example_core_data_HashTable_AddToTable+300)
runtime.cc:565] native: #15 pc 0000000000577fe0 /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
runtime.cc:565] native: #16 pc 000000000056ef88 /system/lib64/libart.so (art_quick_invoke_stub+584)
runtime.cc:565] native: #17 pc 00000000000d4204 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
runtime.cc:565] native: #18 pc 0000000000283fa8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
runtime.cc:565] native: #19 pc 000000000027dfb0 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
runtime.cc:565] native: #20 pc 000000000053fdd8 /system/lib64/libart.so (MterpInvokeDirect+296)
runtime.cc:565] native: #21 pc 0000000000561714 /system/lib64/libart.so (ExecuteMterpImpl+14484)
runtime.cc:565] native: #22 pc 000000000000a432 /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/split_lib_slice_4_apk.apk (deleted) (com.example.core.data.HashTable.add+42)
runtime.cc:565] native: #23 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #24 pc 000000000025d7a8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
runtime.cc:565] native: #25 pc 000000000027df94 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
runtime.cc:565] native: #26 pc 000000000053ea98 /system/lib64/libart.so (MterpInvokeVirtual+588)
runtime.cc:565] native: #27 pc 0000000000561614 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:565] native: #28 pc 000000000000b5d8 /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/split_lib_slice_4_apk.apk (deleted) (com.example.core.data.RecordTable.add+92)
runtime.cc:565] native: #29 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #30 pc 000000000025d7a8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
runtime.cc:565] native: #31 pc 000000000027df94 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
runtime.cc:565] native: #32 pc 000000000053ea98 /system/lib64/libart.so (MterpInvokeVirtual+588)
runtime.cc:565] native: #33 pc 0000000000561614 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:565] native: #34 pc 0000000000007878 /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/split_lib_slice_7_apk.apk (deleted) (com.example.core.research.SensorStepLayout$1.onRecieveSensorData+92)
runtime.cc:565] native: #35 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #36 pc 000000000025d7a8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
runtime.cc:565] native: #37 pc 000000000027df94 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
runtime.cc:565] native: #38 pc 000000000053fa14 /system/lib64/libart.so (MterpInvokeInterface+1392)
runtime.cc:565] native: #39 pc 0000000000561814 /system/lib64/libart.so (ExecuteMterpImpl+14740)
runtime.cc:565] native: #40 pc 00000000000035b6 /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/split_lib_slice_0_apk.apk (deleted) (com.example.core.sensor.SensorController$4.onReceive+98)
runtime.cc:565] native: #41 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #42 pc 000000000052aa88 /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
runtime.cc:565] native: #43 pc 00000000005780fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
runtime.cc:565] native: #44 pc 0000000000069840 /dev/ashmem/dalvik-jit-code-cache (deleted) (android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts+432)
runtime.cc:565] native: #45 pc 000000000056ef88 /system/lib64/libart.so (art_quick_invoke_stub+584)
runtime.cc:565] native: #46 pc 00000000000d4204 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
runtime.cc:565] native: #47 pc 0000000000283fa8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
runtime.cc:565] native: #48 pc 000000000027dfb0 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
runtime.cc:565] native: #49 pc 000000000053ea98 /system/lib64/libart.so (MterpInvokeVirtual+588)
runtime.cc:565] native: #50 pc 0000000000561614 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:565] native: #51 pc 00000000001a1a8a /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.example.core-KEw67b6DP3--gNk9bQVCzw==/split_lib_dependencies_apk.apk (deleted) (android.support.v4.content.LocalBroadcastManager$1.handleMessage+22)
runtime.cc:565] native: #52 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #53 pc 000000000025d7a8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
runtime.cc:565] native: #54 pc 000000000027df94 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
runtime.cc:565] native: #55 pc 000000000053ea98 /system/lib64/libart.so (MterpInvokeVirtual+588)
runtime.cc:565] native: #56 pc 0000000000561614 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:565] native: #57 pc 0000000000b3dee0 /system/framework/boot-framework.vdex (android.os.Handler.dispatchMessage+42)
runtime.cc:565] native: #58 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #59 pc 000000000025d7a8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
runtime.cc:565] native: #60 pc 000000000027df94 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
runtime.cc:565] native: #61 pc 000000000053ea98 /system/lib64/libart.so (MterpInvokeVirtual+588)
runtime.cc:565] native: #62 pc 0000000000561614 /system/lib64/libart.so (ExecuteMterpImpl+14228)
runtime.cc:565] native: #63 pc 0000000000b45dac /system/framework/boot-framework.vdex (android.os.Looper.loop+482)
runtime.cc:565] native: #64 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #65 pc 000000000025d7a8 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
runtime.cc:565] native: #66 pc 000000000027df94 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
runtime.cc:565] native: #67 pc 000000000053ff9c /system/lib64/libart.so (MterpInvokeStatic+204)
runtime.cc:565] native: #68 pc 0000000000561794 /system/lib64/libart.so (ExecuteMterpImpl+14612)
runtime.cc:565] native: #69 pc 00000000003daadc /system/framework/boot-framework.vdex (android.app.ActivityThread.main+428)
runtime.cc:565] native: #70 pc 0000000000257cb4 /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1977376047+488)
runtime.cc:565] native: #71 pc 000000000052aa88 /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
runtime.cc:565] native: #72 pc 00000000005780fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
runtime.cc:565] native: #73 pc 000000000056f24c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
runtime.cc:565] native: #74 pc 00000000000d4224 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
runtime.cc:565] native: #75 pc 0000000000472fd4 /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
runtime.cc:565] native: #76 pc 0000000000474a28 /system/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&,
_jobject*, _jobject*, _jobject*, unsigned long)+1440)
runtime.cc:565] native: #77 pc 00000000004043ac /system/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*,
_jobject*, _jobjectArray*)+52)
runtime.cc:565] at com.example.core.data.HashTable.AddToTable(Native method)
runtime.cc:565] at com.example.core.data.HashTable.add(HashTable.java:21)
runtime.cc:565] at com.example.core.data.RecordTable.add(RecordTable.java:61)
runtime.cc:565] at com.example.core.research.SensorStepLayout$1.onRecieveSensorData(SensorStepLayout.java:142)
runtime.cc:565] at com.example.core.sensor.SensorController$4.onReceive(SensorController.java:138)
A/m.example.cor: runtime.cc:565] at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:313)
runtime.cc:565] at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:121)
runtime.cc:565] at android.os.Handler.dispatchMessage(Handler.java:109)
runtime.cc:565] at android.os.Looper.loop(Looper.java:207)
runtime.cc:565] at android.app.ActivityThread.main(ActivityThread.java:7539)
runtime.cc:565] at java.lang.reflect.Method.invoke(Native method)
runtime.cc:565] at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
runtime.cc:565] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)