Android 创建图像实例时出现droidText unstaisfiedLink错误

Android 创建图像实例时出现droidText unstaisfiedLink错误,android,pdf-generation,android-droidtext,Android,Pdf Generation,Android Droidtext,在使用droidText库创建pdf时,我不断遇到未经验证的链接错误。这是随机的,并非每次都会发生 抛出它的行是: Image image = Image.getInstance(url); 堆栈跟踪 02-19 12:09:02.534: E/AndroidRuntime(14477): FATAL EXCEPTION: Thread-10 02-19 12:09:02.534: E/AndroidRuntime(14477): java.lang.UnsatisfiedLinkError:

在使用droidText库创建pdf时,我不断遇到未经验证的链接错误。这是随机的,并非每次都会发生

抛出它的行是:

Image image = Image.getInstance(url);
堆栈跟踪

02-19 12:09:02.534: E/AndroidRuntime(14477): FATAL EXCEPTION: Thread-10
02-19 12:09:02.534: E/AndroidRuntime(14477): java.lang.UnsatisfiedLinkError: cmmOpenProfile
02-19 12:09:02.534: E/AndroidRuntime(14477):    at org.apache.harmony.awt.gl.color.NativeCMM.cmmOpenProfile(Native Method)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at harmony.java.awt.color.ICC_Profile.<init>(ICC_Profile.java:324)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at harmony.java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:645)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.readPng(PngImage.java:425)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:515)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:230)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:212)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.lowagie.text.Image.getInstance(Image.java:275)
02-19 12:09:02.534: E/AndroidRuntime(14477):    at com.test.view.pdf.PdfCreation.getLogo(PdfCreation.java:1094)
02-19 12:09:02.534:E/AndroidRuntime(14477):致命异常:线程10
02-19 12:09:02.534:E/AndroidRuntime(14477):java.lang.UnsatifiedLink错误:CMOpenProfile
02-19 12:09:02.534:E/AndroidRuntime(14477):位于org.apache.harmony.awt.gl.color.NativeCMM.cmmOpenProfile(本机方法)
02-19 12:09:02.534:E/AndroidRuntime(14477):at harmony.java.awt.color.ICC_Profile.(ICC_Profile.java:324)
02-19 12:09:02.534:E/AndroidRuntime(14477):at harmony.java.awt.color.ICC_Profile.getInstance(ICC_Profile.java:645)
02-19 12:09:02.534:E/AndroidRuntime(14477):位于com.lowagie.text.pdf.codec.PngImage.readPng(PngImage.java:425)
02-19 12:09:02.534:E/AndroidRuntime(14477):在com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:515)
02-19 12:09:02.534:E/AndroidRuntime(14477):在com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:230)
02-19 12:09:02.534:E/AndroidRuntime(14477):在com.lowagie.text.pdf.codec.PngImage.getImage(PngImage.java:212)
02-19 12:09:02.534:E/AndroidRuntime(14477):位于com.lowagie.text.Image.getInstance(Image.java:275)
02-19 12:09:02.534:E/AndroidRuntime(14477):位于com.test.view.pdf.PdfCreation.getLogo(PdfCreation.java:1094)

任何关于我做错了什么或如何解决这个问题的指针。

droidtext使用Apache Harmony的部分内容作为awt依赖项。Harmony的ICC_配置文件实现依赖于本机库,在png图像具有iCCP块()时使用该实现。此本机代码现在不是droidtext的一部分

我在这里提出了一个问题:并将对此进行调查。如果你能在bug出现这个问题的地方附加一个png,那就太好了


作为一种解决方法,您可以从png中删除颜色配置文件,或者通过取消PngImage.java中第424-429行的注释来防止droidText应用它

检查您的png图像是否有一些奇怪的颜色配置文件。如果使用photoshop设计png图像,请使用“转换为配置文件…”并选择“sRGB IEC61966”,然后在“为Web保存”时选中“转换为sRGB”选项


有关颜色配置文件的更多信息,请阅读:和

Hi Markus,这次我们再次面对jpeg图像(lib版本0.4)的问题。我已附上上述同一期的图片。如果你能看一眼就好了。谢谢我无法复制附加图像的任何错误。将其读入字节数组,然后使用image.getInstance()创建pdf图像对我来说很有用。你能在谷歌代码问题上附加一些示例代码来重现这个问题吗。