【问题标题】:Crashlytics plugin destroys my projectCrashlytics 插件破坏了我的项目
【发布时间】:2015-06-02 12:44:06
【问题描述】:

我正在尝试使用他们在 Android Studio 中提供的插件将 Crashlytics 集成到我的应用中。 当我开始应用更改步骤时,我单击下一步,然后它说我应该构建项目。当我尝试构建时,我开始得到 ​​p>

找不到资源错误

然后得到

错误:(2) 解析 XML 时出错:前缀不能绑定到保留的命名空间名称之一

列出错误的 xml 位于我的一个库项目的 build 文件夹中,它的名称是 values.xml,在我运行 Crashlytics 插件之前它可以正常工作。 此外,在运行插件后,我无法从 IDE 构建项目,也无法再从控制台使用 gradle,即使在运行 gradle clean 之后,我也无法执行 git revert,因为它说没有任何文件被更改。将我的项目恢复到以前状态的唯一方法是删除该文件夹并再次从远程克隆它。

有人知道发生了什么吗? 这个插件对我的构建文件夹有什么作用?

附加信息: 我正在使用来自 Beta 频道的最新版本的 Android Studio。 我今天下载了最新的 Crashlytics 插件。 这些是我的 gradle build 中设置的 sdk 和构建工具的版本 minSdkVersion 18 targetSdkVersion 19 compileSdkVersion 21 buildToolsVersion "21.1.2"

【问题讨论】:

  • 遇到完全相同的问题。如果我找到有效的解决方案,我会回复。

标签: android-studio crashlytics


【解决方案1】:

我修好了。如果我没记错的话,这是我尝试过的:

  • ionic build android(失败)
  • ionic platform remove android
  • cordova platform remove android
  • cordova plugin remove cordova-crashlytics-plugin
  • ./platforms/android/cordova/clean
  • cordova platform add android
  • ionic build android(成功)
  • cordova plugin add https://github.com/4sh-projects/cordova-crashlytics-plugin
  • ionic build android(成功)

如果这对您不起作用,请告诉我,我将不得不再次查看。我做了一些额外的步骤试图弄清楚这一切。

【讨论】:

  • 感谢您提供的信息。我并没有真正了解您在此处列出的所有步骤,但这可能是因为您使用的是 ionic 和 cordova,而我的应用程序是用 Java 编写的。一般来说,我认为您也设法通过从插件添加的值文件中删除一些工件来解决您的问题。请参阅我的答案以了解更多详细信息。
【解决方案2】:

多亏了一位同事的一些 git 指针,我终于设法解决了我的问题。 实际上,我较新地设法使插件工作,但按照文档手动实现了 crashlytics。

这是避免再次克隆项目的解决方案。

问题是由文件 com_crashlytics_export_strings.xml 的资源合并造成的 与其余的资源 xmls。 当您甚至在按下下一步以将更改应用到文件之前运行插件时,插件将在其中创建此 xml src\main\res\values\

请注意,在我的例子中,这些值是在库项目中创建的,因为这是唯一具有默认项目结构的项目。包括应用程序在内的所有其他项目都具有自定义结构,并且显然 crashlytics 插件不尊重这些自定义。 我对 git 的问题是 Android Studio 看不到这个文件,因为它是由其他工具添加的,并且 git 工作目录是干净的,因为 Android Studio 没有在这个文件上正确调用 git add。

另请注意,在运行插件时,会在 assets 文件夹中创建另一个文件,名为 crashlytics-build.properties。此文件不会破坏构建,但可能会产生一些不良影响。该文件显然用于“识别您的 Android 应用程序的各个版本”。为什么他们使用这些数据而不是清单中提供的数据(在我的情况下由我们的构建脚本正确填充)对我来说仍然是一个谜,我怀疑可能有很多错误报告打开,询问为什么他们的版本名称不同......

这里是手动添加 crashlytics 的文档链接https://dev.twitter.com/fabric/android/integrating

【讨论】:

  • 对不起,我不明白如何根据您的帖子解决此问题..我不得不手动删除我的一些 lib 项目中的 com_crashlytics_export_strings.xml 文件..太烦人了。
  • 其实是的,我也是这样解决的。之后我停止使用该插件,只是手动向项目添加了所需的更改。只需按照这些步骤dev.twitter.com/fabric/android/integrating
猜你喜欢
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2017-10-20
  • 2021-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多