从Beta安装我的应用时,我的所有Android测试版都会出现此错误:
应用未安装.该包似乎已损坏
Android 7+用户没有问题.APK可以直接安装在所有设备上,包括Beta版中有错误的设备.问题出现在前几天,项目配置没有改变.
我的所有用户都使用最新的1.7.0 Beta应用.项目依赖项:
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true
}
compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.6@aar') {
transitive = true
}
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
UPD.我从AndroidManifest.xml中删除了android:extractNativeLibs ="false",现在它可以工作了.
最新的面料文档说
如果将Gradle版本2.2.0+的Android插件与externalNativeBuild DSL一起使用,则应删除androidNdkOut和androidNdkLibsOut属性,因为Fabric插件会自动检测这些路径。但这对我不起作用,因为我的本地代码位于库模块中。我在库模块中有本机代码,并在应用程序模块中启用了Crashlytics。我该如何运作?
我正在使用com.android.tools.build:gradle:2.3.3和io.fabric.tools:gradle:1.23.0。
错误:
com.crashlytics.tools.android.project.codemapping.CodeMappingException:Crashlytics找不到NDK输出目录'[我的应用程序模块路径] / obj'。-androidNdkOut设置是否正确配置?
更新。我将Crashlytics配置移至我的库模块:
buildscript {
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath('com.android.tools.build:gradle:2.3.3') {
force = true
}
classpath 'io.fabric.tools:gradle:1.23.0'
}
}
repositories {
jcenter()
}
apply plugin: 'com.android.library'
apply plugin: 'io.fabric'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
publishNonDefault true
defaultConfig {
minSdkVersion 16
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
ndk {
moduleName "core"
}
externalNativeBuild {
ndkBuild {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64", "mips", "mips64"
}
}
}
lintOptions …Run Code Online (Sandbox Code Playgroud)