Ответ 1
Вам нужно добавить свой API-ключ к манифесту Android:
<application>
<meta-data
android:name="com.crashlytics.ApiKey"
android:value="your key here" />
</application>
У меня есть эта mainActivity
public class MainActivity extends RoboFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Crashlytics.start(this);
//setContentView(R.layout.activity_main);
Intent intent = new Intent(this, MainActivity_with_Fragment.class);
startActivity(intent);
finish();
}
}
это мой gradle.build
buildscript {
repositories {
jcenter()
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.14.2'
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'
repositories {
jcenter()
maven { url 'http://download.crashlytics.com/maven' }
}
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
applicationId "com.example.stopcall.app"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
abortOnError false
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:21.0.3'
compile 'org.roboguice:roboguice:3.+'
provided 'org.roboguice:roboblender:3.+'
compile 'com.crashlytics.android:crashlytics:1.+'
}
Когда я запускаю сборку проекта, я получаю эту ошибку компиляции:
Error:Gradle: Execution failed for task ':app:crashlyticsCleanupResourcesDebug'.
> Crashlytics Developer Tools error.
как я могу это исправить?
Вам нужно добавить свой API-ключ к манифесту Android:
<application>
<meta-data
android:name="com.crashlytics.ApiKey"
android:value="your key here" />
</application>
Этот метод решил мою проблему:
Удалить или прокомментировать эту строку (build.gradle):
// apply plugin: 'io.fabric'
или если у вас есть ApiKey, определите структуру ApiKey (AndroidManifest.xml)
<meta-data
android:name="io.fabric.ApiKey"
android:value="yourApiKey012356465654" />
Если вы хотите только создать твит с SDK, вы можете удалить строку
apply plugin: 'io.fabric'
И конструкция gradle будет работать правильно
Я также получил проблему и разрешил ее, поместив строку непосредственно в метатег, не указав ключ api в строковые ресурсы.
например.
Заменить
<meta-data
android:name="io.fabric.ApiKey"
android:value="@string/string_res_name_of_your_api_key" />
до
<meta-data
android:name="io.fabric.ApiKey"
android:value="your_api_key_string" />
Когда вы выполните шаги для добавления приложения в панель мониторинга Crashlytics, они упомянули шаг добавления ключа api. В моем случае я получал ту же ошибку, когда я попытался извлечь ключ из файла strings.xml. Проблема заключалась в том, что плагин crashlytics использует метод вставки ключа api во время выполнения, и, следовательно, сборка завершается сбоем, поскольку она не может получить ключ из файла строк.
Я попытался сделать следующий шаг:
defaultConfig {
manifestPlaceholders = [ api_key_crashlytics:"xxxx__your_api_key"]}
<meta-data
android:name="io.fabric.ApiKey"
android:value="${api_key_crashlytics}" />
Это сработало для меня.
Откройте плагин Fabric, который уже установлен и обновляет Crashlytics, ваша проблема решена.
Я столкнулся с этой проблемой иногда, хотя у меня уже был ключ api в манифесте. Затем я попытаюсь собрать выпуск apk, прежде чем пытаться собрать его для загрузки в Fabric. Итак, пусть выполняется:
$ ./gradlew assembleRelease
затем
$ ./gradlew assembleRelease crashlyticsUploadDistributionRelease
и он работает хорошо.
Если вы используете дистрибутив с Gradle, вы можете проверить некоторые свойства, например
ext.betaDistributionReleaseNotesFilePath = "путь/к/release_notes.txt"
В нашем случае у нас не было этого файла, и задача была разбита. Чтобы увидеть проблему, перейдите в консоль Gradle и проверьте журналы:
Я попробовал все ваше решение по этому вопросу и другим. Но все они не решили мою проблему. Я решил свою проблему. Мое решение может решить вашу проблему. Я создал пустую папку res в основной папке. project- > src- > Main- > Рез
Скорее всего, ApiKey не прав, просто проверьте это. Работал для меня.