1***@qq.com
1***@qq.com
  • 发布:2018-04-10 18:35
  • 更新:2020-06-04 14:34
  • 阅读:3157

为什么plus.nativeUI.previewImage打包后使用,会黑屏

分类:HTML5+

测试都是正常的,在打包后,在html用img都能把图片显示出来,点击图片进行预览的时候,就黑屏了。

如果img能出来,图片是已经下载到本地了。为什么预览就会黑了呢?而且是打包后,打包前没问题的。

大侠们请帮忙看看这个问题。谢谢。

2018-04-10 18:35 1 条评论 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

如果使用HBuilder基座真机运行没问题,在manifest.json中配置应用资源是否解压:选择为“解压资源后运行”。

  • miskss

    选择“解压资源后运行”后正常,是因为如果是“不解压直接运行”,plus方法读取不到本地目录下的文件导致的么?

    2018-08-24 17:43

1***@qq.com

1***@qq.com (作者)

补充一下信息,是安卓的机器。

我用手机助手已经看到图片已经下载到文件夹里头了。就是调用plus.nativeUI.previewImage黑屏。

为什么呢。。

hylong

hylong

你测试预览也是好的?
我试了一下在线打包,plus.nativeUI.previewImage功能是好用的。你检查下图片路径是否正确呢,我使用本地图片、网络图片都是可以的

  • 1***@qq.com (作者)

    测试包预览是好的,而且文件下载下来在HTML里头显示也是可以显示图的,就是把地址给plus.nativeUI.previewImage就黑了。而且只是打包后会黑。测试包没问题。

    2018-04-10 20:01

  • 1***@qq.com (作者)

    file:///storage/emulated/0/Android/data/io.dcloud.H5D1234FF/downloads/1523343625404.jpg

    图片地址是这样的。

    2018-04-10 20:02

  • 1***@qq.com (作者)

    请问你是怎么试验出来没问题的?我直接用官方生成的例子都不行。只要打包后就不行。用真机测试的基座就没有问题。

    2018-04-10 22:22

1***@qq.com

1***@qq.com (作者)

真的无解了。为什么不行呢。在测试包都是可以的。大牛们能不能给点指引。

1***@qq.com

1***@qq.com (作者)

预览网络图片是没有问题的,就是本地文件不行。。。。

1***@qq.com

1***@qq.com (作者)

var urls = [url,'http://mapopen-website-wiki.cdn.bcebos.com/banner%2FtraceTraffic-20180404.jpg'];
plus.nativeUI.previewImage(urls);
我就两行代码,网络的那个是可以的,自己的url就不行。

url的值是file:///storage/emulated/0/Android/data/io.dcloud.H5D1234FF/downloads/1523343625404.jpg
也是过用_downloads/1523343625404.jpg 相对路径,也不可以。为什么

1***@qq.com

1***@qq.com (作者)

问题更新,

我发现用官方的例子打包之后。里头有个图片预览的例子,也就是调用这个plus.nativeUI.previewImage的。也是预览黑屏,图片没有东西显示。用我自己的证书还是用dcloud的公用证书,都有这个问题。

我在想,这个会不会是apk的权限问题?

请大牛解答。

1***@qq.com

1***@qq.com (作者)

附件是我用HBUILDER创建的mui例子,用官方我证书,云打包出来的apk。
已经在permissions中把H5+例子里头需要的都加进去了。
使用image viewer(图片预览)下的native模式,点击图片后,也是显示黑色,不能出来图片。

请大牛解答是不是哪里权限需要额外配置。谢谢。

  • 1***@qq.com (作者)

    补充一下,用真机运行,HBUILDER基座运行是没有问题的。

    2018-04-10 22:21

1***@qq.com

1***@qq.com (作者)

补充一下,用真机运行,HBUILDER基座运行是没有问题的。

1***@qq.com

1***@qq.com (作者)

是没有人给我点指引吗?

hylong

hylong

我试了下确实有问题。你去掉file://估计可以。如果可以,暂时先这么处理。

  • 1***@qq.com (作者)

    你试了去掉file://可以?我用_www都不行

    2018-04-11 14:33

  • hylong

    回复 1***@qq.com:恩。去掉file://keyi ,_www也可以。你打印一下传进去的数组,看长什么样。或者不要动态创建,直接写死一个数组试试

    2018-04-11 14:37

  • 1***@qq.com (作者)

    _www不行啊。我试过了。我就把本地的图片输出都不行。

    2018-04-11 14:39

1***@qq.com

1***@qq.com

解决了吗?我遇到的问题是使用android studio打包之后调用这个方法就直接导致app死掉,调试也没法调试。hb打包的就正常。这种有办法处理吗?还是说要换其他的方式

  • DCloud_Android_zl

    有错误信息吗?

    2020-03-24 15:24

  • 1***@qq.com

    回复 DCloud_Android_zl: 白屏的时候我去android studio查看日志是有个错误:

    java.lang.NoClassDefFoundError: Failed resolution of: Lpl/droidsonroids/gif/GifImageView;

    at io.dcloud.feature.nativeObj.photoview.PhotoActivity.onCreate(PhotoActivity.java:112)

    at android.app.Activity.performCreate(Activity.java:7040)

    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)

    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2809)

    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931)

    at android.app.ActivityThread.-wrap11(Unknown Source:0)

    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620)

    at android.os.Handler.dispatchMessage(Handler.java:105)

    at android.os.Looper.loop(Looper.java:173)

    at android.app.ActivityThread.main(ActivityThread.java:6698)

    at java.lang.reflect.Method.invoke(Native Method)

    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)

    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

    Caused by: java.lang.ClassNotFoundException: Didn't find class "pl.droidsonroids.gif.GifImageView" on path: DexPathList[[zip file "/data/app/com.gzswlgbj.retired-9TVa3Gy5iyNEyzS7NPwIpw==/base.apk"],nativeLibraryDirectories=[/data/app/com.gzswlgbj.retired-9TVa3Gy5iyNEyzS7NPwIpw==/lib/arm, /data/app/com.gzswlgbj.retired-9TVa3Gy5iyNEyzS7NPwIpw==/base.apk!/lib/armeabi-v7a, /system/lib, /system/vendor/lib]]

    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

    at io.dcloud.feature.nativeObj.photoview.PhotoActivity.onCreate(PhotoActivity.java:112) 

    at android.app.Activity.performCreate(Activity.java:7040) 

    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214) 

    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2809) 

    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2931) 

    at android.app.ActivityThread.-wrap11(Unknown Source:0) 

    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1620) 

    at android.os.Handler.dispatchMessage(Handler.java:105) 

    at android.os.Looper.loop(Looper.java:173) 

    at android.app.ActivityThread.main(ActivityThread.java:6698) 

    at java.lang.reflect.Method.invoke(Native Method) 

    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 

    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782) 

    2020-04-08 16:48:02.501 10106-10106/com.gzswlgbj.retired E/platform: Exception android.telephony.TelephonyManager getImei

    2020-04-08 16:48:02.502 10106-10106/com.gzswlgbj.retired E/platform: NoSuchMethodException android.telephony.TelephonyManager getImei2

    2020-04-08 16:48:02.504 10106-10106/com.gzswlgbj.retired E/platform: Exception android.telephony.TelephonyManager getImei

    2020-04-08 16:48:02.506 10106-10106/com.gzswlgbj.retired E/platform: Exception android.telephony.TelephonyManager getImei

    2020-04-08 16:48:02.509 10106-10106/com.gzswlgbj.retired E/TelephonyUtil: getIMEI exception==getDeviceId: Neither user 10113 nor current process has android.permission.READ_PHONE_STATE.

    2020-04-08 16:59

  • DCloud_Android_zl

    回复 1***@qq.com: 添加上这个aar:android-gif-drawable-release@1.2.17.aar,再试试

    2020-04-08 17:29

  • 1***@qq.com

    回复 DCloud_Android_zl: 谢谢哈,可以了;我一直以为是lib.5plus.base-release.aar的版本不对...,但是也查不出来原因。

    2020-04-08 17:43

3***@qq.com

3***@qq.com

我也遇到这个问题,按楼上的也添加了android-gif-drawable-release@1.2.17.aar这个文件,还是不行啊,怎么办呢?

5***@qq.com

5***@qq.com

把urls 这个路径放在点击事件里面 就没有问题了

该问题目前已经被锁定, 无法添加新回复