The type specifier does not match any version of the overloaded method 'createBitmap'.
mob 发布于 2023-05-25

在Android Studio中的JNI 创建bitmap,使用以下代码,但会出现提示,

  jclass bitmapCls = env->FindClass("android/graphics/Bitmap");
        jmethodID createBitmapFunction = env->GetStaticMethodID(bitmapCls,
                                                                "createBitmap",
                                                                "(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;");
        jstring configName = env->NewStringUTF("ARGB_8888");
        jclass bitmapConfigClass = env->FindClass("android/graphics/Bitmap$Config");
        jmethodID valueOfBitmapConfigFunction = env->GetStaticMethodID(
                bitmapConfigClass, "valueOf",
                "(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;");

        jobject bitmapConfig = env->CallStaticObjectMethod(bitmapConfigClass,
                                                           valueOfBitmapConfigFunction, configName);

        jobject newBitmap = env->CallStaticObjectMethod(bitmapCls,
                                                        createBitmapFunction,
                                                        width,
                                                        height, bitmapConfig);

 

点击Fix type specifier of method 'createBitmap'出现下图,

这里面可以看到有Landroid,IILandroid,IIILandroid ,IIIIILandroid,这几个不知道什么区别,不过每行应该对应CreateBitmap方法的各个重载

其实代码的提示可以忽略,编译运行都没问题,如果改了,后面没有提示,但运行反而错误。

 

 

mob
关注 私信
文章
66
关注
0
粉丝
0