标签: android-make

从libs /添加jar文件到Android.mk

几乎找到了在Android.mk添加外部jar引用的答案,但我仍然不在那里.

我的项目在libs /目录中包含commons-io-2.4.jar和jsch-0.1.49.jar.在日食中,一切都建立得很漂亮.现在我想编写一个Android.mk文件来自动构建我的项目.

我的Android.mk看起来像这样,但它不起作用.

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := MyProject
LOCAL_CERTIFICATE := platform

LOCAL_STATIC_JAVA_LIBRARIES := jsch-0.1.49 commons-io-2.4

LOCAL_PROGUARD_FLAGS      := -include $(LOCAL_PATH)/proguard.flags

include $(BUILD_PACKAGE)

LOCAL_STATIC_JAVA_LIBRARIES := libs
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libs:jsch-0.1.49 libs:commons-io-2.4

include $(BUILD_MULTI_PREBUILT)
Run Code Online (Sandbox Code Playgroud)

我确定只有一点秘诀我错了,但我无法弄清楚.

Android.mk文件有很好的参考吗?我所能找到的只是与ndk一起工作的食谱.

android android-make

7
推荐指数
2
解决办法
2万
查看次数

无法解析API文件"frameworks/base/api/current.txt"

我尝试在Android框架中添加一些文件.一切顺利,除了在编译结束时,我遇到了错误.

我也试过make update-api,但没有运气,每次编译它都会给出以下错误.如果有人知道如何解决这个问题,请告诉我.

Docs droiddoc: out/target/common/docs/doc-comment-check
Checking API: checkapi-last
Checking API: checkapi-current
host layoutlib_create: out/host/common/obj/JAVA_LIBRARIES/temp_layoutlib_intermediates/javalib.jar
Couldn't parse API file "frameworks/base/api/current.txt"
  ...as text: com.google.doclava.apicheck.ApiParseException: missing class or interface. got: private line 6342
  ...as XML:  com.google.doclava.apicheck.ApiParseException: Error parsing API
Couldn't parse API file "out/target/common/obj/PACKAGING/public_api.txt"
  ...as text: com.google.doclava.apicheck.ApiParseException: missing class or interface. got: private line 6342
  ...as XML:  com.google.doclava.apicheck.ApiParseException: Error parsing API
Exception in thread "main" java.lang.NullPointerException
    at com.google.doclava.apicheck.ApiCheck.checkApi(ApiCheck.java:118)
    at com.google.doclava.apicheck.ApiCheck.main(ApiCheck.java:67)

******************************
You have tried to change the API from what has been …
Run Code Online (Sandbox Code Playgroud)

android android-source android-framework android-make

7
推荐指数
1
解决办法
1万
查看次数

GNUMAKE预计只有一个源文件错误

所以我正在开发Android Studio 2.2.2中的NDK示例.该项目使用clapack(一个数学库),它还有一个与clapack文件夹相同级别的testclapack.cpp.Android.mk文件也位于同一目录中.

Android.mk文件的内容是:

LOCAL_PATH:= $(call my-dir)
export MAINDIR:= $(LOCAL_PATH)

include $(CLEAR_VARS)

include $(MAINDIR)/clapack/Android.mk

LOCAL_PATH := $(MAINDIR)

include $(CLEAR_VARS)
LOCAL_MODULE:= lapack
LOCAL_SHORT_COMMANDS := true
LOCAL_STATIC_LIBRARIES := tmglib clapack blas f2c
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)
LOCAL_EXPORT_LDLIBS := $(LOCAL_LDLIBS)
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE:= testlapack
LOCAL_SRC_FILES:= testclapack.cpp
LOCAL_STATIC_LIBRARIES := lapack
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

但是,Sync Gradle会导致错误:

Gradle sync失败:GNUMAKE:在编译步骤中只需要一个源文件:com.android.build.gradle.external.gnumake.CommandClassifier$NativeCompilerBuildTool@6fd7d241但收到:D:/ SDK/android/ndk-bundle/build //. ./platforms/android-19/arch-arm/usr/include E:/test/lapack/app/src/main/jni/testclapack.cpp

我认为它与Android.mk有关,因为如果我删除了testlapack的部分,那么gradle sync就可以了.

因为我需要在testclapack.cpp中调用函数,所以我需要一些关于如何将它们编译在一起的帮助.

makefile android-ndk android-make

7
推荐指数
0
解决办法
1074
查看次数

Android.mk条件

有没有办法在Android.mk中使用条件表达式?我需要它像这样做smth:

IF arch = AREABI_V7
   *use path for my arm_v7 static libs*
ELSE
   *use path for arm static libs*
Run Code Online (Sandbox Code Playgroud)

android makefile android-ndk android-make

6
推荐指数
1
解决办法
6740
查看次数

android ndk没有规则来制作目标

我意识到之前已经问过这个问题,但没有答案能够解决我的问题.

我正在尝试构建一个随NDK提供的示例Android应用程序,其中包含以下Android.mk文件:

LOCAL_PATH := $(call my-dir)
MY_PATH := $(LOCAL_PATH)
include $(call all-subdir-makefiles)

include $(CLEAR_VARS)

LOCAL_PATH := $(MY_PATH)

LOCAL_MODULE    := native-activity
LOCAL_SRC_FILES := main.c
LOCAL_LDLIBS    := -llog -landroid -lEGL -lGLESv1_CM
LOCAL_STATIC_LIBRARIES := android_native_app_glue

include $(BUILD_SHARED_LIBRARY)

$(call import-module,android/native_app_glue)
Run Code Online (Sandbox Code Playgroud)

当我构建我的项目时,我得到以下错误:

**** Build of configuration Default for project NativeActivity ****

/Users/Jono/Documents/Development/Android Development/android-ndk-r9c/ndk-build all 
usage: dirname path
make: /Users/Jono/build/core/build-local.mk: No such file or directory
make: *** No rule to make target `/Users/Jono/build/core/build-local.mk'.  Stop.

**** Build Finished ****
Run Code Online (Sandbox Code Playgroud)

问题是它在我的根目录中寻找构建文件,但我不确定它在做什么,它在寻找什么文件,它应该在哪里查找,然后我应该做些什么来修复它.

android makefile android-ndk android-make

6
推荐指数
1
解决办法
5820
查看次数

MODULE.TARGET.SHARED_LIBRARIES.libjpeg已经定义了错误

我正在尝试为设备构建AOSP 4.4.2的内核.当我编译内核时,我得到了

build/core/base_rules.mk:134: *** vendor/google/libs: 
MODULE.TARGET.SHARED_LIBRARIES.libjpeg already defined by external/jpeg.  Stop.
Run Code Online (Sandbox Code Playgroud)

我知道共享变量libjpeg已经定义,我需要删除其中一个.那是对的吗?

我试着查看external/jpeg文件夹,我不确定我要查看哪个文件.有人可以告诉我如何处理这种情况.

kernel-module android-source android-make

6
推荐指数
1
解决办法
9979
查看次数

AOSP 构建未采用供应商文件夹中的最新更改

将vendor/XXXX文件夹中的文件替换为最新版本并启动构建(m -j8)。不到5分钟就完成了搭建。
新的系统映像已创建。但是,更改不会在模拟器中更新。但是,当我删除 out 文件夹并再次尝试构建时,一切都会正常。完成构建需要 3-4 小时。

任何人都知道为什么第一次不起作用的原因。

qemu android-emulator android-build android-source android-make

5
推荐指数
0
解决办法
1389
查看次数

如何使用 android.mk 在 AOSP 中包含 .aar

我需要在 aosp 构建树中使用 android.mk 构建一个应用程序。我有一个自定义的 .arr lib,它位于以下文件夹 apps/libs/mylib.aar

任何人都可以告诉我如何在 android aosp 构建中包含 aar。我已经尝试了此处描述的以下方法Stackoverflow link for aosp build with .aar lib

Android.mk 看起来像

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS  := optional
LOCAL_PACKAGE_NAME := sample
LOCAL_CERTIFICATE  := platform

# SRC files
#=====================================================================
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
                   $(call all-Iaidl-files-under, aidl)

# RES files
#=====================================================================
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_RESOURCE_DIR +=prebuilts/sdk/current/extras/constraint-layout/res
LOCAL_RESOURCE_DIR +=frameworks/support/v7/appcompat/res
LOCAL_RESOURCE_DIR +=frameworks/support/design/res
LOCAL_RESOURCE_DIR +=frameworks/support-v4/res

LOCAL_MANIFEST_FILE :=AndroidManifest.xml
LOCAL_USE_AAPT2 := true
LOCAL_PROGUARD_ENABLED := disabled

# static .aar …
Run Code Online (Sandbox Code Playgroud)

android android-source android-make

4
推荐指数
1
解决办法
3867
查看次数

在 AOSP 的主要 make 中添加 make 规则

我在 at 添加了一个新的 C++ 子项目,frameworks/base/cmds/myproject它有自己的Android.mk文件。当我运行时make myproject,它会编译得很好,没有问题。

但是我想添加make myproject到主要make. 我的意思是,当有人make在 AOSP 的根目录下运行时,我的项目也将包含在内。我该怎么办?

android makefile android-source android-make

0
推荐指数
1
解决办法
839
查看次数