gpt4 book ai didi

带有 native 库错误的 Android Studio Gradle

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:56 26 4
gpt4 key购买 nike

对不起我的英语...

我有最后一个 android studio(2013 年 6 月 14 日)。创建新的 Android 项目。将.so文件添加到/libs/armeabi

将 build.gradle 编辑为

buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'

dependencies {
compile files('libs/android-support-v4.jar','libs/jcPKCS11.jar')
}

android {
compileSdkVersion 17
buildToolsVersion "17.0.0"

defaultConfig {
minSdkVersion 14
targetSdkVersion 16
}
}

task copyNativeLibs(type: Copy) {
from(new File(project(':JaCertTest').getProjectDir(), 'libs/armeabi')) { include '**/*.so' }
into new File(buildDir, 'native-libs')
}

tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File('build/native-libs')
}

我收到一个错误:失败:构建失败,出现异常。

  • 出了什么问题:任务“:JaCertTest:packageDebug”的配置发现问题。

    Directory 'build\native-libs' specified for property 'jniDir' does not exist.

编写构建脚本如何正确?

最佳答案

如果您的 copyNativeLibs 任务找不到任何文件,就会发生这种情况,因此不会创建“build\native-libs”目录。您确定“libs/armeabi”目录中有 .so 文件吗?

此外,请记住您的脚本实际上不会编译 native 代码。您仍然需要通过运行 ndk-build 来生成 .so 库来自己执行此操作。

这是一个示例,说明如何让您的脚本编译您的 native 代码。请注意,这需要 ndk-build 在您的 PATH 中。

// Task to run ndk-build
task ndkBuild(type: Exec) {
commandLine 'ndk-build', '-j', Runtime.runtime.availableProcessors()
}

task copyNativeLibs(type: Copy) {
from(new File(project(':JaCertTest').getProjectDir(), 'libs/armeabi')) { include '**/*.so' }
into new File(buildDir, 'native-libs')
}

// Make copyNativeLibs depend on ndkBuild since we must build the libraries
// before we can copy them.
copyNativeLibs.dependsOn 'ndkBuild'
tasks.withType(Compile) { compileTask -> compileTask.dependsOn copyNativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniDir new File('build/native-libs')
}

关于带有 native 库错误的 Android Studio Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17116068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com