我的应用程序在所有设备上都运行得很好,除了一个(LG Leon,更新到Android 6),当我试图打开存储的文件时,它崩溃了。我得到了:
java.lang.NoSuchMethodError: No direct method <init>(Ljava/io/File;)V in class Lcom/leff/midi/MidiFile; or its super classes (declaration of 'com.leff.midi.MidiFile' appears in /system/framework/com.lge.frameworks.jar)这是被调用的构造函数(以用户选择的文件作为参数):
public MidiFile(File fileIn) throws FileNotFoundException, IOException
{
this(new FileInputStream(fileIn));
}发布于 2020-04-23 19:04:28
我在一个使用Android 9的LG用户上遇到了这个问题。似乎LG确实打包了一个没有这个类或方法的旧版本。我建议你在你的应用程序中隐藏这个库,以确保你使用的是你自己的库,而不是优先使用的LGs库。因此,将这些类复制到您的项目中,并将包更改为类似于com.leff_shadowed.midi的名称,然后使用它。
出现这些问题的用户报告说,此更改解决了他的问题。
https://stackoverflow.com/questions/39685881
复制相似问题