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
请问解决了吗
更多关于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。以下是一个基本的步骤和代码示例:
-
创建自定义原生插件
在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。 -
在uni-app中调用原生插件
在您的uni-app项目中,通过
plus.android.importClass
和plus.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');
-
解决打包失败问题
如果打包失败,请检查以下几点:
- 确保您的
AndroidManifest.xml
和build.gradle
文件中已经添加了Google Analytics所需的权限和依赖。 - 检查是否有任何编译错误或警告,特别是关于Google Analytics SDK的。
- 尝试清理项目并重新打包。
如果问题依旧存在,请查看HBuilderX的编译日志,查找具体的错误信息,以便进一步定位问题。
- 确保您的
以上是一个基本的集成示例和问题解决思路。由于每个项目的具体情况不同,您可能需要根据实际需要进行调整。希望这对您有所帮助!