调用AAssetManager_fromJava时崩溃:"JNI WARNING: instance fieldID 0x571819bc not valid"
Crash when calling AAssetManager_fromJava: "JNI WARNING: instance fieldID 0x571819bc not valid"
本文关键字:fieldID instance 0x571819bc not valid WARNING JNI fromJava 崩溃 AAssetManager 调用 更新时间:2023-10-16
这是完整的警告:
jni警告:实例fieldid 0x571819BC不适合课堂 ljava/lang/class;在 lcom/brokenteapot/lwtemplate/jni; .oncreate :( landroid/content/res/assetmanager;)v (getintfield)
和回溯:
#00 pc 00045dd0 /system/lib/libdvm.so (dvmAbort+75)
#01 pc 00039819 /system/lib/libdvm.so
#02 pc 0003e96b /system/lib/libdvm.so
#03 pc 000089b9 /system/lib/libandroid.so (AAssetManager_fromJava+88)
#04 pc 00002f54 /data/data/com.brokenteapot.lwtemplate/lib/libLiveWallpaperTemplate.so (Java_com_brokenteapot_lwtemplate_JNI_onCreate+128)
这是引起它的代码:
java
public final class LiveWallpaperService extends WallpaperService
{
static AssetManager assetManager;
@Override
public void onCreate()
{
assetManager = getAssets();
JNI.onCreate(assetManager);
}
}
C
void Java_com_brokenteapot_lwtemplate_JNI_onCreate(JNIEnv* env, jobject assetManager)
{
AAssetManager* pAssetManager = AAssetManager_fromJava(env, assetManager);
}
我真的不知道该警告意味着什么或为什么它崩溃了。我几乎完全按照NDK样本的示例进行了示例。是因为它是一项不同的服务吗?
ugh,我想知道,JNI函数中的方法签名是错误的:
void Java_com_brokenteapot_lwtemplate_JNI_onCreate(JNIEnv* env, jobject assetManager)
应该是
void Java_com_brokenteapot_lwtemplate_JNI_onCreate(JNIEnv* env, void* reserved, jobject assetManager)
我不太了解为什么有些JNI功能需要void*,而有些则不需要...
相关文章:
- C++ Singleton - Prevent ::instance() to variable
- DrawIndexedInstanced 具有不同的 Index Count per Instance (Directx
- 我可以将QCoreApplication::instance()用于孤儿QObjects吗?
- "terminate called after throwing an instance of std::invalid_argument' what(): stoi ?"
- cin.get() 导致"no instance of overloaded function"错误
- 方括号在"map <string, int> instance[numberFeatures];"中是什么意思
- 尝试在虚幻引擎中通过C++添加视口时出错"No instance of overloaded function CreateWidget"
- 3D 矢量 - "No instance of overload function?"
- 不能使用矢量::插入"no instance of overloaded function..."
- 矩阵类:"No instance of overloaded function push_back matches the argument list"
- 如何修复矢量push_back中的"no instance of overloaded function"?
- 内存泄漏与mongocxx::instance inst{};.
- "No instance of overload function"
- 调用AAssetManager_fromJava时崩溃:"JNI WARNING: instance fieldID 0x571819bc not valid"
- 显示"terminate called after throwing an instance of 'std::bad_alloc'"时出错
- C++向量和错误"no instance of overloaded function"
- 使用字符串向量初始值设定项时,我收到运行时错误"terminate called after throwing instance of `std::length_error`"
- C++ "Could not convert 'class instance' from 'Class (*)()' to 'Class'"
- 设计模式?如何做"Abstract generator creating abstract instance"
- 启动 VirtualBoxSDK 测试应用程序返回错误"Error creating virtual box instance"