目前,我正在尝试将Crashlytics集成到Android应用程序中。但是,我无法识别应用程序并将其添加到Fabric Dashboard。
按照以下步骤使用Android Studio Fabric插件时:
然而,当我这样做时,Fabric插件仍然停留在“请构建并运行您的应用程序”屏幕上,并最终给出错误消息“已经有一段时间了。需要一些帮助吗?”
我还尝试手动安装Crashlytics,方法是使用此链接自行添加代码:https://fabric.io/kits/android/crashlytics/install
但是当我构建应用程序时,我的Fabric Dashboard中仍然没有发生任何事情。
我已经尝试再次检出分支并重新添加此代码无济于事。我也尝试重新安装Fabric IDE插件,重启Android Studio并重启我的机器。
我已按照相同步骤成功将Crashlytics添加到其他应用程序中。
有什么想法吗?
答案 0 :(得分:6)
我遇到了同样的问题 - 在应用程序启动期间,Fabric-plugin屏幕中没有任何内容说“请构建并运行您的应用程序”。
在我禁用即时运行(首选项>构建执行部署>即时运行)后,它开始工作,然后重建并运行应用程序。
答案 1 :(得分:1)
我遇到了类似的问题-一个月前,我重构了软件包名称,并以错误的char命名(西里尔字母с
而不是拉丁字母c
),这是我现在仅通过查看Java代码查看的十六进制编辑器。在build.gradle中, applicationId =“ package name” 的写法与* .java文件中的package name类似,但是拉丁语中只有所有字符是正确的。
简单地将应用程序包名称重构为正确的名称(等于appliationId和clean / build项目)无法解决Fabric Crashlytics的问题。包名称可能留在另一个文件中可能是错误的,不仅在* .java,清单和gradle中。我不知道因为我下一步进行了完全重构:
1)删除由Fabric插件添加的所有代码行(如果您使用自动代码插入)或从build.gradle(应用程序),AndroidManifest.xml,MainActivity.java中手动添加的所有代码行。
2)通过 Edit> Find>在路径中替换
将旧软件包名称替换为新软件包名称3)手动将所有需要的最小项目文件复制到新项目文件夹中。我复制了这些文件夹和文件
NewProjectFolder/build.gradle
NewProjectFolder/app/build.gradle
NewProjectFolder/app/src/*
NewProjectFolder/app/libs/*
4)关闭当前项目,在“欢迎使用Android Studio”中选择“导入项目”,然后在新项目文件夹中选择项目。
5)进行一些重构以正常运行您的应用程序(我使用Firebase,因此我将此新应用程序添加到Firebase控制台中的Firebase项目中,并将新的 google-services.json 下载到NewProjectFolder / app /)
6)确保您的应用运行良好,并在重构之前将其停止
7)启动Fabric插件,按“ +新应用”>“ Crashlytycs”>“安装”>“应用” ,以将Fabric的代码自动安装到build.gradle(应用),AndroidManifest.xml,MainActivity.java。
8)运行您的应用,然后等待“完成!”在Fabric插件上。之后,您可以在Crashlytics仪表板中查看您的应用。
它已为我的项目工作,希望对您有所帮助。
答案 2 :(得分:0)
我也有这个问题。确保将应用程序包重命名为与应用程序ID相同的名称。
例如,我有包结构com/exampleapp/
,但它应该是com/companydomain/appname
,因为应用程序ID是com.companydomain.appname
答案 3 :(得分:0)
在这里有同样的问题,我决定做这些事情:
首先,在你的app build.graddle文件中添加:
defaultConfig {
applicationId "<your package name>"
}
如果没有解决,请尝试将您的applicationId更改为与您的包不匹配的其他应用程序。
出于某种原因,他们在这里工作。
答案 4 :(得分:0)
可能您忘记在应用程序级别gradle.build文件的开头添加了apply plugin: 'io.fabric'
答案 5 :(得分:0)
也有这个问题,然后
我重构了我的应用程序包名称
和
在gradle中更改了应用程序ID名称
再次建造它,问题解决了。
答案 6 :(得分:0)
确保在清单文件中包括其专用gradle.build和meta的所有依赖项。接下来是通过互联网连接在设备上引发强制运行时错误,也不要忘记首先使用cost = [1,2,4,5]
#method1
for i in cost[:2]:
#do something for the first two elements
print(i)
#method2
for i in range(2):
#do something for the first two elements
print(cost[i])
对其进行初始化。如果这不起作用,请尝试在Android Studio中下载Android版Fabric插件,然后选择您的软件包。
答案 7 :(得分:0)
这对我有帮助: https://developer.android.com/studio/build/optimize-your-build#disable-crashlytics-build-id
如果您想在调试版本中使用Crashlytics,仍然可以 通过防止Crashlytics更新来加快增量构建 每次构建期间具有自己唯一的构建ID的应用资源。因为 此版本ID存储在资源文件中, 清单,禁用自动生成版本ID也可以使您 在调试版本中,将Apply Changes和Crashlytics结合使用。
要防止Crashlytics自动更新其内部版本ID,请将以下内容添加到您的build.gradle文件中:
android {
...
buildTypes {
debug {
ext.alwaysUpdateBuildId = false
}
}