gpt4 book ai didi

android studio 实验性 ndk c 库

转载 作者:行者123 更新时间:2023-12-03 18:14:35 25 4
gpt4 key购买 nike

我在 these examples 之后使用 gradle 构建了一些测试 c 和 c++ 程序

this answer 的帮助下,我还能够设置具有实验功能的 android studio 来构建调用 native 函数的 android 项目。

我知道我可以使用 android.useDeprecatedNdk=true 构建这个项目

并提供我的 android.mk 文件供 android studio 编译和构建应用程序。

是否可以使用实验功能来构建相同的程序?这个项目是用 CMAKE 构建的,并且有一些编译步骤可以输出需要链接的文件。 ndk 构建 创建这些文件,但我找不到使用 android 实验功能的方法。

我正在尝试出于测试目的并构建一个构建更复杂项目的重要示例。我决定尝试构建 the zlib library .

这是我的 build.gradle

apply plugin: 'com.android.model.application'

model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.1"

defaultConfig.with {
applicationId = "me.test.testnative_exp"
minSdkVersion.apiLevel = 10
targetSdkVersion.apiLevel = 23
versionCode = 1
versionName = "1.0"

buildConfigFields.with {
create() {
type = "int"
name = "VALUE"
value = "1"
}
}
}
}

compileOptions.with {
sourceCompatibility=JavaVersion.VERSION_1_7
targetCompatibility=JavaVersion.VERSION_1_7
}

android.ndk {
moduleName = "hello-jni"
cppFlags += "-I${file("src/main/jni/zlib")}".toString()
stl = "stlport_static"
}

android.buildTypes {

release {
minifyEnabled = false
proguardFiles += file('proguard-rules.pro')
}
}

android.sources {
main {
java {
source {
srcDir 'src'
}
}
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
}

我的项目结构是
app/
build/
libs/
src/
src/main/testActivity.java
jni/zlib <- the zlib folder is the one that I downloaded from the zlib website.
jni/hello-jni.c

同步 build.gradle 后,我在文件的标题上收到链接错误:
infbak9.c 找不到#include "zutil.h"

但是这两个文件都在 jni 下的 zlib 目录中。

是否可以使用 android studio 实验性 ndk build 来编译这个项目?

最佳答案

github中有一个很好的项目,我在我的项目中使用了它的结构,这是开始“如何在复杂项目中使用实验(v_0.4.0)插件?”的好例子。 :

https://github.com/frogermcs/FlatBuffs

*android NDK中有zlib,只需添加适当的cflag和ldLibs.add("z")在毕业。并在您的 native 代码中 include <zlib.h>
以及来自 google 的一个很好的实验性 gradle 配置:
https://github.com/googlesamples/android-ndk/blob/229cbe86238d401bb06166b8dfadec8198532589/native-codec/app/build.gradle

关于android studio 实验性 ndk c 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628653/

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