Android Studio中c库的gradle构建失败
首先,我要说我对Gradle、Android Studio和Git都是新手。我们刚刚从Eclipse和SVN迁移到这些技术,在运行Android项目时遇到了一些问题。我们正在Mac上开发。我从另一个团队继承了这个项目,不确定他们为什么选择做某些事情。 [不幸的是,我不得不在整个截图中审查项目名称和用户。] 我们正在使用c ogg库在Android应用程序中录制音频文件 我们收到的错误是: 我们已经找到了和的链接,但我们无法让它们中的任何一个正常工作 我们不确定该项目是否设置正确,因为似乎有很多Android.mk文件漂浮在周围 从上面的问题链接来看,我们似乎需要强迫Gradle不要用自己的Android.mk文件覆盖我们的Android.mk文件,但这些建议似乎只会让我们进一步陷入困境 有人能给我们指出正确的方向吗 jni/Android.mkAndroid Studio中c库的gradle构建失败,android,git,android-studio,gradle,android-ndk,Android,Git,Android Studio,Gradle,Android Ndk,首先,我要说我对Gradle、Android Studio和Git都是新手。我们刚刚从Eclipse和SVN迁移到这些技术,在运行Android项目时遇到了一些问题。我们正在Mac上开发。我从另一个团队继承了这个项目,不确定他们为什么选择做某些事情。 [不幸的是,我不得不在整个截图中审查项目名称和用户。] 我们正在使用c ogg库在Android应用程序中录制音频文件 我们收到的错误是: 我们已经找到了和的链接,但我们无法让它们中的任何一个正常工作 我们不确定该项目是否设置正确,因为似乎有很多
LOCAL_PATH := $(call my-dir)
LOCAL_C_INCLUDE := $(LOCAL_PATH)/include
include $(addprefix $(LOCAL_PATH)/, $(addsuffix /Android.mk, \
libogg \
libvorbis \
libvorbis-jni \
))
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libogg
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SRC_FILES := \
bitwise.c \
framing.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := vorbis-jni
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg libvorbis
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_SRC_FILES := \
com_*****_android_audio_VorbisEncoder.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libvorbis
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg
LOCAL_SRC_FILES := \
mdct.c \
smallft.c \
block.c \
envelope.c \
window.c \
lsp.c \
lpc.c \
analysis.c \
synthesis.c \
psy.c \
info.c \
floor1.c \
floor0.c \
res0.c \
mapping0.c \
registry.c \
codebook.c \
sharedbook.c \
lookup.c \
bitrate.c \
vorbisfile.c \
vorbisenc.c
include $(BUILD_SHARED_LIBRARY)
jni/libogg/Android.mk
LOCAL_PATH := $(call my-dir)
LOCAL_C_INCLUDE := $(LOCAL_PATH)/include
include $(addprefix $(LOCAL_PATH)/, $(addsuffix /Android.mk, \
libogg \
libvorbis \
libvorbis-jni \
))
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libogg
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SRC_FILES := \
bitwise.c \
framing.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := vorbis-jni
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg libvorbis
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_SRC_FILES := \
com_*****_android_audio_VorbisEncoder.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libvorbis
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg
LOCAL_SRC_FILES := \
mdct.c \
smallft.c \
block.c \
envelope.c \
window.c \
lsp.c \
lpc.c \
analysis.c \
synthesis.c \
psy.c \
info.c \
floor1.c \
floor0.c \
res0.c \
mapping0.c \
registry.c \
codebook.c \
sharedbook.c \
lookup.c \
bitrate.c \
vorbisfile.c \
vorbisenc.c
include $(BUILD_SHARED_LIBRARY)
jni/libvorbis-jni/Android.mk
LOCAL_PATH := $(call my-dir)
LOCAL_C_INCLUDE := $(LOCAL_PATH)/include
include $(addprefix $(LOCAL_PATH)/, $(addsuffix /Android.mk, \
libogg \
libvorbis \
libvorbis-jni \
))
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libogg
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SRC_FILES := \
bitwise.c \
framing.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := vorbis-jni
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg libvorbis
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_SRC_FILES := \
com_*****_android_audio_VorbisEncoder.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libvorbis
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg
LOCAL_SRC_FILES := \
mdct.c \
smallft.c \
block.c \
envelope.c \
window.c \
lsp.c \
lpc.c \
analysis.c \
synthesis.c \
psy.c \
info.c \
floor1.c \
floor0.c \
res0.c \
mapping0.c \
registry.c \
codebook.c \
sharedbook.c \
lookup.c \
bitrate.c \
vorbisfile.c \
vorbisenc.c
include $(BUILD_SHARED_LIBRARY)
jni/libvorbis/Android.mk
LOCAL_PATH := $(call my-dir)
LOCAL_C_INCLUDE := $(LOCAL_PATH)/include
include $(addprefix $(LOCAL_PATH)/, $(addsuffix /Android.mk, \
libogg \
libvorbis \
libvorbis-jni \
))
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libogg
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SRC_FILES := \
bitwise.c \
framing.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := vorbis-jni
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg libvorbis
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog
LOCAL_SRC_FILES := \
com_*****_android_audio_VorbisEncoder.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libvorbis
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../include -ffast-math -fsigned-char
ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -march=armv6 -marm -mfloat-abi=softfp -mfpu=vfp
endif
LOCAL_SHARED_LIBRARIES := libogg
LOCAL_SRC_FILES := \
mdct.c \
smallft.c \
block.c \
envelope.c \
window.c \
lsp.c \
lpc.c \
analysis.c \
synthesis.c \
psy.c \
info.c \
floor1.c \
floor0.c \
res0.c \
mapping0.c \
registry.c \
codebook.c \
sharedbook.c \
lookup.c \
bitrate.c \
vorbisfile.c \
vorbisenc.c
include $(BUILD_SHARED_LIBRARY)
项目的build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
}
}
项目模块的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.*****.android.hud"
minSdkVersion 14
targetSdkVersion 18
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
我真诚地希望你能暂时解决这个问题ago@AlexCohn,我们从来没有。相反,我重写了代码,使其不需要c library.auch。但我同意,如果可以从开发堆中删除一项附加技术,整个应用程序就会变得更健康。无论如何,如果你好奇的话,新的Android Studio(2.2+)完全支持NDK构建。