rzh*_*hik 4 android-ndk crashlytics-android google-fabric
最新的面料文档说
如果将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 {
abortOnError false
}
buildTypes {
debug {
debuggable true
jniDebuggable true
minifyEnabled false
}
release {
debuggable false
jniDebuggable false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
externalNativeBuild {
ndkBuild {
path 'jni/Android.mk'
}
}
}
crashlytics {
enableNdk true
baseManifestPath '../app/src/main/AndroidManifest.xml'
}
dependencies {
compile "com.android.support:support-v4:${rootProject.ext.supportLibVersion}"
compile "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
compile "com.android.support:design:${rootProject.ext.supportLibVersion}"
compile "com.google.android.gms:play-services-maps:${rootProject.ext.playServicesVersion}"
compile "com.google.android.gms:play-services-location:${rootProject.ext.playServicesVersion}"
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序模块现在仅包含依赖项:
dependencies {
// Crashlytics Kit
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true
}
// NDK Kit
compile('com.crashlytics.sdk.android:crashlytics-ndk:1.1.6@aar') {
transitive = true
}
}
Run Code Online (Sandbox Code Playgroud)
但是现在我得到了错误
在类型com.crashlytics.tools.gradle.CrashlyticsExtension的对象上找不到参数[Manifest的路径]的方法baseManifestPath()。
我面临着同样的问题。我有主应用程序模块“ app”,“库”模块包含ndk源。
2019年6月更新
上个月,我在使用gradle执行“ crashlyticsUploadSymbolsRelease”命令时遇到了一个错误。似乎libs文件的位置已更改。
以下代码使我可以看到带有行号的NDK崩溃:
crashlytics {
enableNdk true
androidNdkOut '../library/build/intermediates/cmake/release/obj'
androidNdkLibsOut '../library/build/intermediates/stripped_native_libs/release/out/lib'
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
2264 次 |
| 最近记录: |