Ela*_*nda 51 android crashlytics android-gradle-plugin
我有这个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();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的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.+'
}
Run Code Online (Sandbox Code Playgroud)
当我运行项目构建时,我收到此编译错误:
Error:Gradle: Execution failed for task ':app:crashlyticsCleanupResourcesDebug'.
> Crashlytics Developer Tools error.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
Bil*_*ote 68
您需要将API密钥添加到Android Manifest:
<application>
<meta-data
android:name="com.crashlytics.ApiKey"
android:value="your key here" />
</application>
Run Code Online (Sandbox Code Playgroud)
Fat*_*him 37
这个方法解决了我的问题:
删除或评论此行(build.gradle):
// apply plugin: 'io.fabric'
Run Code Online (Sandbox Code Playgroud)
或者如果您有ApiKey,请定义fabric ApiKey(AndroidManifest.xml)
<meta-data
android:name="io.fabric.ApiKey"
android:value="yourApiKey012356465654" />
Run Code Online (Sandbox Code Playgroud)
Khr*_*riz 25
如果您只想使用SDK撰写推文,则可以删除该行
apply plugin: 'io.fabric'
Run Code Online (Sandbox Code Playgroud)
gradle构建将正常工作
Has*_*mil 18
我也解决了这个问题并通过直接将字符串放在元标记中来解决它,而没有将api密钥定义为字符串资源.
例如,替换
<meta-data
android:name="io.fabric.ApiKey"
android:value="@string/string_res_name_of_your_api_key" />
Run Code Online (Sandbox Code Playgroud)
至
<meta-data
android:name="io.fabric.ApiKey"
android:value="your_api_key_string" />
Run Code Online (Sandbox Code Playgroud)
小智 8
当您按照在Crashlytics仪表板中添加应用程序的步骤进行操作时,他们已经提到了添加api密钥的步骤.在我的情况下,当我尝试从strings.xml文件中获取密钥时,我遇到了同样的错误.问题是crashlytics插件使用运行时api密钥插入方法,因此构建失败,因为它无法从字符串文件中获取密钥.
我尝试了以下步骤:
defaultConfig {
manifestPlaceholders = [ api_key_crashlytics:"xxxx__your_api_key"]}
Run Code Online (Sandbox Code Playgroud)
<meta-data
android:name="io.fabric.ApiKey"
android:value="${api_key_crashlytics}" />
Run Code Online (Sandbox Code Playgroud)
这对我有用.
| 归档时间: |
|
| 查看次数: |
44882 次 |
| 最近记录: |