私はこの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キーを文字列リソースに定義せずに、メタタグに文字列を直接挿入することで問題を解決しました。
例:Replace
<meta-data
Android:name="io.fabric.ApiKey"
Android:value="@string/string_res_name_of_your_api_key" />
to
<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 Pluginを開き、Crashlyticsを更新すると、問題が解決します
追加したことを確認してください
apply plugin: 'com.google.gms.google-services'
build.gradleファイルの最後。
Gradleでの配布 を使用する場合、次のようないくつかのプロパティをチェックした可能性があります。
ext.betaDistributionReleaseNotesFilePath =” path/to/release_notes.txt”
この場合、このファイルがなく、タスクがクラッシュしました。問題を確認するには、Gradleコンソールにアクセスしてログを確認します。
マニフェストにはすでにAPIキーがありましたが、時々この問題に直面しました。次に、Fabricにアップロードするためにアセンブルする前に、リリースapkをアセンブルしてみます。実行してみましょう:
$ ./gradlew assembleRelease
それから
$ ./gradlew assembleRelease crashlyticsUploadDistributionRelease
そしてそれはうまく機能します。
ApiKeyが正しくない可能性が高いのは、チェックアウトするだけです。私のために働いた。
キーが間違って入力された可能性がありますAndroid Manifest
<meta-data
Android:name="io.fabric.ApiKey"
Android:value="yourApiKey" /> //You must have 40 words
プロジェクトを登録して入力すると、コードを取得できます