2

アプリケーションの Android で、1 つの android.mk ファイルをアプリケーションの別の Android.mk ファイルにインポートしたい

このために、同じプロジェクトの別のモジュールにインポートされる 1 つの Andorid.mk ファイルで使用しました

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := EDSDKModule
LOCAL_SRC_FILES :=libEDSDK.a
LOCAL_ARM_MODE := arm
TARGET_PLATFORM:=android-8
TARGET_ARCH_ABI:=armeabi
TARGET_ABI:=$(TARGET_PLATFORM)-$(TARGET_ARCH_ABI)
include $(PREBUILT_STATIC_LIBRARY)

メインの Andorid.mk ファイルが書き込まれます

include C:\my_module\Android.mk
 LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := EDSK
LOCAL_MODULE_FILENAME := foo 
LOCAL_SRC_FILES := sample.c
LOCAL_STATIC_LIBRARIES := EDSDKModule
include $(BUILD_SHARED_LIBRARY)
LOCAL_ARM_MODE := arm
TARGET_PLATFORM:=android-8
TARGET_ARCH_ABI:=armeabi
TARGET_ABI:=$(TARGET_PLATFORM)-$(TARGET_ARCH_ABI)
$(call import-module,EDSDKModule)

しかし、Android-NDk ieを使用してプロジェクトをビルドすると、このエラーが発生します

プロジェクト内の android.mk ファイルの別のモジュールにあるモジュールをインポートする方法についていくつかの解決策を提案してください

4

1 に答える 1

0

問題はここにあると思います:

    $NDK_MODULE_PATH\C:\Final FOlder\final c\Mysetup\newworks\SimpleApp\jni\path1\Android.mk:
    /*here i have given directory path of android.mk file */

考えられる間違い :

  • パス内の空のスペースを取り除くようにしてください:

    C:\Final FOlder\final c\ 
    

このようなものに:

    C:\FInal_Folder\final_c\myotherdir\xyz.mk
  • 次のような絶対パスを使用している場合:

    C:\mypath\myotherdir\xyz.mk
    

次に、プレフィックスを付ける必要はありません$NDK_MODULE_PATH。上記の絶対パス自体を使用するだけです。C:\mypath\myotherdir\xyz.mk

  • include上記の include ステートメントの前にキーワードが必要です。

    # comment : including my mk file here
    include C:\mypath\myotherdir\xyz.mk
    
  • include:ステートメントの最後にある を削除します

したがって、次のようなことをしなければなりません:

    include C:\mypath\myotherdir\xyz.mk

また

NDK LOCAL FOLDERに mk ファイルがある場合

    include $NDK_MODULE_PATH\mylocaldir\xyz.mk

お役に立てれば。乾杯!

于 2012-06-26T04:57:53.533 に答える