uni-app安卓BUG怎么这么多?弃坑了

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app安卓BUG怎么这么多?弃坑了

打包都成功,打包基座也没问题,调试的时候改一个字就各种报错,编译又慢全是坑。测试版和正式版都一样。

有时候 关闭 IDE ,重启电脑。  偶尔正常,没一会又这样,弃坑了崩溃了,最恶心的是苹果编译一切正常放到安卓就各种报错,完全没有体会到一端代码多端通用的便利。

9 回复

有没有考虑过自己的问题,uniapp官方很忙的好不好,有没有好好工作,工资涨没涨【dog】


因为Android最终还是要编译为kotlin的class,这是kotlin编译器报的错。 运行时,可以勾选清楚原生缓存。在原生开发里,就是clean。clean会慢一些。 uni-app x只是换个写法的原生应用。
你可以把报错工程发issues提交,我们针对一些错误,可以预拦截,让报错提示更容易看懂些

哎,我创建一个新项目,就加了lime-i18n,结果 运行安卓 就报Cannot create property ‘code’ on string 'load_transformed failed ios又没问题,目前不适合上生产环境,太多bug了

尝一下鲜得了,真要投入使用,先等别人踩一两年的坑再说

回复 3***@qq.com: 我在踩,哈哈哈,一切顺利

你这应该去问lime-i18n的插件作者啊

我在 hbuilderx 4.29中开发 将定义的类型全部放在page.d.uts中 没问题 但是hbulderx 升级到4.3.6后 直接报错 但是我在页面内已经将这个引入给注释了
14:52:54.760 Cannot create property ‘code’ on string ‘load_transformed failed 14:52:54.760 Caused by: 14:52:54.760 0: failed to analyze module 14:52:54.760 1: failed to resolve …/…/pages.d.uts from C:\Users\唯\Desktop\see_world_uni_merge\see_world_uni\unpackage\dist\dev.uvue\app-android\pages\member\member.uvue?type=page 14:52:54.760 2: index not found’

请单独开贴,说清楚运行平台和重现方式

理解您在使用uni-app开发安卓应用时遇到的困扰。确实,任何框架或平台在开发过程中都可能遇到各种问题和BUG,但这并不意味着就应该轻易放弃。相反,通过深入了解问题和积极寻找解决方案,我们可以更好地利用uni-app进行开发。以下是一些针对uni-app安卓端常见问题的代码案例,希望能帮助您解决问题。

1. 安卓端页面白屏问题

有时在安卓设备上,页面可能会出现白屏现象。这通常是由于资源加载失败或JavaScript执行错误导致的。可以通过以下方式尝试解决:

// 在页面加载时检查资源加载情况
onLoad() {
  if (!this.$mp.page.options.usingComponents) {
    uni.showToast({
      title: '资源加载失败,请重试',
      icon: 'none'
    });
    setTimeout(() => {
      uni.redirectTo({
        url: '/pages/error/error' // 跳转到错误页面
      });
    }, 2000);
  }
}

2. 安卓端软键盘遮挡输入框问题

安卓设备上,软键盘弹出时可能会遮挡输入框。可以通过调整页面布局或使用uni-app提供的API来解决:

<!-- 在页面中使用scroll-view组件 -->
<scroll-view scroll-y="true" style="height: 100%;">
  <!-- 页面内容 -->
  <input type="text" placeholder="请输入内容" />
</scroll-view>

或者在输入框获得焦点时,手动调整页面滚动位置:

inputFocus(e) {
  setTimeout(() => {
    uni.pageScrollTo({
      scrollTop: 999999, // 滚动到底部,确保输入框不被遮挡
      duration: 300
    });
  }, 300);
}

3. 安卓端性能优化问题

针对安卓端可能出现的性能瓶颈,可以通过减少DOM操作、优化图片资源、使用懒加载等方式进行性能优化。以下是一个简单的图片懒加载示例:

<!-- 使用v-if指令控制图片的加载 -->
<template>
  <view>
    <image v-if="imageLoaded" :src="imageUrl" style="width: 100%;" />
    <view v-else class="placeholder">加载中...</view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      imageUrl: 'https://example.com/image.jpg',
      imageLoaded: false
    };
  },
  mounted() {
    this.loadImage();
  },
  methods: {
    loadImage() {
      // 模拟图片加载过程
      setTimeout(() => {
        this.imageLoaded = true;
      }, 1000);
    }
  }
};
</script>

以上代码案例仅针对一些常见问题提供了解决方案。在实际开发中,可能会遇到更多具体的问题。建议您在遇到问题时,先查阅uni-app官方文档和社区论坛,了解是否有现成的解决方案。同时,也可以尝试自己调试和修复问题,这不仅能提升您的技术能力,还能为社区贡献宝贵的经验。

回到顶部