uni-app HBuilderX 4.29 添加谷歌统计后,安卓打包失败

uni-app HBuilderX 4.29 添加谷歌统计后,安卓打包失败

项目信息
产品分类 uniapp/App
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 Sonoma 14.6.1
HBuilderX类型 正式
HBuilderX版本号 4.29
手机系统 Android
手机系统版本号 Android 11
手机厂商 Google pixel 2
手机机型 Google pixel 2
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 安卓打包

预期结果:

  • 成功

实际结果:

  • 失败

bug描述:

启用 Statistic 统计中的 Google Analytics for Firebase 后,分别配置好了 IOS,Android 的配置文件,进行安卓的打包报错:

FAILURE: Build failed with an exception.
  • What went wrong:
Execution failed for task ':app:mapReleaseSourceSetPaths'.
Error while evaluating property 'extraGeneratedResDir' of task ':app:mapReleaseSourceSetPaths'.
Failed to calculate the value of task ':app:mapReleaseSourceSetPaths' property 'extraGeneratedResDir'.
Querying the mapped value of provider(java.util.Set) before task ':app:processReleaseGoogleServices' has completed is not supported
  • Try:
Run with --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.
  • Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mapReleaseSourceSetPaths'.
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
.......

日志文件:https://app.liuyingyong.cn/build/errorLog/b2c3f1d0-8619-11ef-9595-552e3a41a145

麻烦看一下是什么原因,怎么解决?


更多关于uni-app HBuilderX 4.29 添加谷歌统计后,安卓打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

请问解决了吗

更多关于uni-app HBuilderX 4.29 添加谷歌统计后,安卓打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


没呢,目前解决办法是降版本到 4.24

回复 KMKJ: 我也遇到了这个问题,但是我把版本降到4.24也不行

针对您提到的在uni-app中使用HBuilderX 4.29版本添加谷歌统计(Google Analytics)后,安卓打包失败的问题,这里提供一个可能的解决方案,并附上相关的代码示例。请注意,具体错误原因可能有所不同,以下方案仅供参考,您需要根据实际情况进行调整。

首先,确保您已经正确配置了Google Analytics的SDK。在uni-app中,您可能需要通过自定义原生插件的方式集成Google Analytics。以下是一个基本的步骤和代码示例:

  1. 创建自定义原生插件

    在HBuilderX中,您可以创建自定义原生插件来集成Google Analytics。这通常涉及到编写Java代码(对于安卓)和Objective-C/Swift代码(对于iOS)。这里只给出安卓部分的示例。

    // 在您的Android原生插件中
    import com.google.android.gms.analytics.GoogleAnalytics;
    import com.google.android.gms.analytics.Tracker;
    
    public class GoogleAnalyticsPlugin {
        private Tracker tracker;
    
        public GoogleAnalyticsPlugin(Context context) {
            // 初始化Google Analytics
            GoogleAnalytics analytics = GoogleAnalytics.getInstance(context);
            tracker = analytics.newTracker("UA-YOUR-TRACKING-ID-HERE");
        }
    
        public void sendScreenView(String screenName) {
            tracker.setScreenName(screenName);
            tracker.send(new HitBuilders.ScreenViewBuilder().build());
        }
    }
    

    注意替换"UA-YOUR-TRACKING-ID-HERE"为您的Google Analytics跟踪ID。

  2. 在uni-app中调用原生插件

    在您的uni-app项目中,通过plus.android.importClassplus.android.runtimeMainActivity等API调用上述原生插件。

    const main = plus.android.runtimeMainActivity();
    const GoogleAnalyticsPlugin = plus.android.importClass('path.to.your.GoogleAnalyticsPlugin');
    const gaPlugin = new GoogleAnalyticsPlugin(main);
    
    function logScreenView(screenName) {
        gaPlugin.sendScreenView(screenName);
    }
    
    // 示例调用
    logScreenView('HomePage');
    
  3. 解决打包失败问题

    如果打包失败,请检查以下几点:

    • 确保您的AndroidManifest.xmlbuild.gradle文件中已经添加了Google Analytics所需的权限和依赖。
    • 检查是否有任何编译错误或警告,特别是关于Google Analytics SDK的。
    • 尝试清理项目并重新打包。

    如果问题依旧存在,请查看HBuilderX的编译日志,查找具体的错误信息,以便进一步定位问题。

以上是一个基本的集成示例和问题解决思路。由于每个项目的具体情况不同,您可能需要根据实际需要进行调整。希望这对您有所帮助!

回到顶部