我在Android.mk文件中定义了一些变量(我正在为编译器传递一些标志),但每次构建我的项目时,都会Android.mk被覆盖.我假设这Gradle是负责任的,我应该在那里看?我如何使用自己的Android.mk文件?
背景资料:
Ubuntu64位,Android Studio1.0.1,JDK7.我NDK用O-LLVM NDK封装了我的版本,因此正在编辑Android.mk位于app/build/intermediates/ndk/debug(它是Android.mk我项目目录中唯一的文件)的文件,与doc O-LLVM提供示例的位置不同.
此外,没有Application.mk文件,所以我再次假设Gradle负责调用编译器?
任何帮助将不胜感激.
凯尔
更新的信息
build.gradle - (app)
//The following code until the "----" line is the new build.gradle config file
// that disables automatic Android.mk file generation
import org.apache.tools.ant.taskdefs.condition.Os
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.md.helloworld"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName …Run Code Online (Sandbox Code Playgroud) java-native-interface llvm gradle android-ndk android-studio
我有一个很大的C文件库,它依赖于OpenSSL,我对使用本机库非常陌生,尤其是使用android的新手.我已经成功地在iOS上实现了这个库而没有任何问题.
我一直在网上寻找有关如何做到这一点的教程/信息,但到目前为止我还没有发现任何我能理解的内容.这对我来说都很困惑.
本质上我正在试图弄清楚如何使用NDK将C文件库编译成本机库,并使用imy android应用程序编译库.
根据我的理解,我需要一个自定义的cmake文件用于android本身,但我不知道从哪里开始,我发现的文档非常难以理解.
所以,我需要一些帮助来理解在以下庄园中编译库的过程:
(我已经设法为android需要的所有arch构建libssl和libcrypto,但我不知道如何处理.a/ .sofiles.)
任何有关此事的帮助都会令人难以置信.
谢谢
编辑:
我设法使用以下内容生成一些库文件.
文件结构:
.idea
app
build
gradle
jni <--- I made this folder specifically fo this.
Android.mk <-- This is the important file.
include
openssl
<openssl header files>
libs
arm64-v8a
libcrypto.a
libcrypto.so
libssl.a
libssl.so
armeabi
libcrypto.a
libcrypto.so
libssl.a
libssl.so
armeabi--v7a
libcrypto.a
libcrypto.so
libssl.a
libssl.so
mips
libcrypto.a
libcrypto.so
libssl.a
libssl.so
mips64
libcrypto.a
libcrypto.so
libssl.a
libssl.so
x86
libcrypto.a
libcrypto.so
libssl.a
libssl.so
x86_64
libcrypto.a
libcrypto.so …Run Code Online (Sandbox Code Playgroud)