我的应用程序在调试构建时运行良好,我可以看到在我测试的每个设备上都报告了Crashlytics异常。但是,当我通过Jenkins获得发布版本时:
答:应用程序会卡在启动屏幕上,这是空白的。
获取“应用程序已停止”对话框。
我在执行发行版构建时发现了一些logcat消息:
首先:它转储以下异常
09-30 09:49:05.561: I/Crashlytics(5696): Initializing Crashlytics 1.0.4.15
09-30 09:49:05.591: E/Crashlytics(5696): .
09-30 09:49:05.591: E/Crashlytics(5696): . | |
09-30 09:49:05.591: E/Crashlytics(5696): . | |
09-30 09:49:05.591: E/Crashlytics(5696): . | |
09-30 09:49:05.591: E/Crashlytics(5696): . \ | | /
09-30 09:49:05.591: E/Crashlytics(5696): . \ /
09-30 09:49:05.591: E/Crashlytics(5696): . \ /
09-30 09:49:05.591: E/Crashlytics(5696): . \/
09-30 09:49:05.591: E/Crashlytics(5696): .
09-30 09:49:05.591: E/Crashlytics(5696): Something is missing! Find it here:
09-30 09:49:05.591: E/Crashlytics(5696): http://www.crashlytics.com/api/v1/[API_KEY]/android/confirm/[PACKAGE_NAME]
09-30 09:49:05.591: E/Crashlytics(5696): .
09-30 09:49:05.591: E/Crashlytics(5696): . /\
09-30 09:49:05.591: E/Crashlytics(5696): . / \
09-30 09:49:05.591: E/Crashlytics(5696): . / \
09-30 09:49:05.601: E/Crashlytics(5696): . / | | \
09-30 09:49:05.601: E/Crashlytics(5696): . | |
09-30 09:49:05.601: E/Crashlytics(5696): . | |
09-30 09:49:05.601: E/Crashlytics(5696): . | |
09-30 09:49:05.601: E/Crashlytics(5696): .
09-30 09:49:05.601: D/AndroidRuntime(5696): Shutting down VM
09-30 09:49:05.601: W/dalvikvm(5696): threadid=1: thread exiting with uncaught exception (group=0x40ad8228)
09-30 09:49:05.601: E/AndroidRuntime(5696): FATAL EXCEPTION: main
09-30 09:49:05.601: E/AndroidRuntime(5696): java.lang.RuntimeException: Unable to start activity ComponentInfo{[PACKAGE_NAME]/[ACTIVITY_NAME]}: com.crashlytics.android.CrashlyticsMissingDependencyException:
第二:从https://settings.crashlytics.com/spi/v1/platforms/android/apps/[APP检索设置失败;类org.json.JSONException: java.lang.String类型无效的值不能转换为JSONObject
第三:经常抱怨没有API_KEY在清单中。但是,它已经存在于清单中,并且在调试生成中运行良好。
<meta-data android:name="com.crashlytics.ApiKey" android:value="[crashlytics_api_key]"/>
在<application>
标签中。
我还做了以下工作:
<import file="./ant_tasks/crashlytics_build.xml"/>
中添加了build.xml并包含了以下源文件:crashlytics_build_base.xml、crashlytics_build.xml、crashlytics-devtools.jar和crashlytics.jar<classpathentry exported="true" kind="lib" path="libs/crashlytics.jar"/>
但还是帮不上忙。
当我在Application.onCreate()中取消注释时
调试和发布构建都很好,当然我没有收到任何崩溃报告。
@Override
public void onCreate() {
super.onCreate();
Crashlytics.start(getApplicationContext());
}
如果有人遇到类似的问题,请帮我解决。在此之前,非常感谢您。
为了我的理解:
发布于 2013-12-03 19:59:47
听起来好像你没有在正确的地方得到编译时库和属性。我从“我的应用程序运行良好的调试版本”中猜测,您使用的是不同的构建环境(可能是IDE),但是在Jenkins上,您使用的是类似于Maven的东西。IDE集成将对调试有很大帮助,但是要获得构建功能命令行还有其他步骤。
当您转到他们推荐的下载页面时,应该有关于如何将Crashlytics部署到任何构建系统的说明。您需要选择正确的一个,然后将它们的内容完全复制/粘贴到您的构建文件中。我已经为Maven做了这件事,只要您在POM中找到了正确的东西,您就应该都准备好了。对gradle来说,这可能更容易。
https://stackoverflow.com/questions/19098913
复制相似问题