相关疑难解决方法(0)

Crashlytics发现了一个无效的API密钥

当我试图与建设项目valuemeta-data标签为字符串参考,crashlytics失败,以下错误:

Crashlytics found an invalid API key: @string/crashlytics. 
Check the Crashlytics plugin to make sure that the application has been added successfully! 
Contact support@crashlytics.com for assistance.
Run Code Online (Sandbox Code Playgroud)

不行

<meta-data
    android:name="com.crashlytics.ApiKey"
    android:value="@string/crashlytics"/>
Run Code Online (Sandbox Code Playgroud)

作品

<meta-data
    android:name="com.crashlytics.ApiKey"
    android:value="1234567890..."/>
Run Code Online (Sandbox Code Playgroud)

我想里面定义不同的密钥string.xml对不同的productFlavors我的Android项目.

更新

写完崩溃支持后:

目前我们只能在构建时评估AndroidManifest.xml,因此我们不查看任何字符串资源,因此我们只支持硬编码字符串.我肯定会与你感兴趣的团队分享这个,所以我们可以在将来的版本中考虑支持这个.

android gradle crashlytics android-studio android-gradle-plugin

30
推荐指数
1
解决办法
1万
查看次数

来自Crashlytics的无效API密钥

已更新至Android Studio 1.4 Preview和新SDK,现在我获得了:

ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null.
Run Code Online (Sandbox Code Playgroud)

我已经卸载了Fabric,再次安装了它,并从中更新了Crashlytics

任何想法我应该做什么?

这是我的build.gradle:http://pastebin.com/VPHpRJte

这是我的androidManifest:http://pastebin.com/Nmdeasx8

我在清单中的API密钥:

android:name="com.crashlytics.ApiKey" 
android:value="c13e89xxxxxxxxxxxxx1054b4a
Run Code Online (Sandbox Code Playgroud)

https://fabric.io/settings/organizations/中:

c13e89xxxxxxxxxxxxxxxxxbf1054b4a
Run Code Online (Sandbox Code Playgroud)

android error-logging crash-reports crashlytics

6
推荐指数
1
解决办法
5342
查看次数

Android Studio/Gradle中的productFlavor变量

我有一个Android应用程序,具有以下产品风格:

productFlavors {
    local {

    }

    development {


    }

    production {

    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的底部有以下内容build.grade:

File crashlyticsProperties = new File("${project.projectDir.absolutePath}/fabric.properties")
android.applicationVariants.all { variant ->
    def variantSuffix = variant.name.capitalize()
    def generateResourcesTask = project.tasks.getByName("fabricGenerateResources${variantSuffix}")
    def generatePropertiesTask = task("fabricGenerateProperties${variantSuffix}") << {
        Properties properties = new Properties()
        properties.put("apiSecret", WHAT_GOES_HERE)
        properties.put("apiKey", WHAT_GOES_HERE)
        PropertiesUtils.injectPropertyInFile(crashlyticsProperties, properties, "")
    }
    generateResourcesTask.dependsOn generatePropertiesTask
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试设置api secret/keyfor,crashlytics但我需要能够设置这些取决于我正在构建的产品风格.

properties.put("apiSecret", WHAT_GOES_HERE)
properties.put("apiKey", WHAT_GOES_HERE)
Run Code Online (Sandbox Code Playgroud)

如何设置/获取这些变量?

更新#1

我已将以下内容添加到我的 build.gradle

productFlavors {
    local {
        buildConfigField "String", "CRASHLYTICS_API_SECRET", "1234"
        buildConfigField "String", "CRASHLYTICS_API_KEY", …
Run Code Online (Sandbox Code Playgroud)

android gradle

5
推荐指数
1
解决办法
1001
查看次数