ホームページ > バックエンド開発 > C++ > NDK Gradle DSL の LOCAL_SRC_FILES からファイルを除外するにはどうすればよいですか?

NDK Gradle DSL の LOCAL_SRC_FILES からファイルを除外するにはどうすればよいですか?

DDD
リリース: 2024-11-27 06:57:10
オリジナル
643 人が閲覧しました

How Can I Exclude Files from LOCAL_SRC_FILES in the NDK Gradle DSL?

除外パターンを使用した NDK DSL の LOCAL_SRC_FILES のバイパス

質問:

LOCAL_SRC_FILES は、次の NDK DSL ブロック内で定義できますか? Gradle?

元の回答 (非推奨):

現在、この機能は Gradle プラグインではサポートされていません。従来の Android.mk ファイルの使用を検討してください。

更新された回答:

Gradle プラグイン 0.4.0 のリリースにより、除外パターンを使用してこれが可能になりました。

android.sources {
    main {
        jni.source {
            srcDirs = ["~/srcs/jni"]
            exclude "**/win.cpp"
        }
    }
}
ログイン後にコピー

静電気による代替ソリューションライブラリ:

LOCAL_SRC_FILES を使用せずに NDK ビルドからファイルを除外するには、別のアプローチを取ることができます。

  1. 除外されたファイルを含む静的ライブラリを作成します。
  2. 静的ファイルに依存するように build.gradle を変更します。 library:
model {
    android.ndk {
        moduleName = "hello-jni"
        abiFilters += "$appAbi".toString()
        ldFlags += "$staticLib".toString()
        ldLibs += "log"
        cppFlags += "-std=c++11"
    }
}
ログイン後にコピー
  1. Android.mk で静的ライブラリを定義します:
LOCAL_MODULE    := staticLib
LOCAL_SRC_FILES := HelloJni.cpp

LOCAL_CPPFLAGS += -std=c++11

include $(BUILD_STATIC_LIBRARY)
ログイン後にコピー

このアプローチでは、指定されたファイルが通常の NDK ビルドから効果的に除外され、必要なシンボルが利用可能であることを確認しますデバッグ中。

注: 除外設定を変更した後は、必ず「ビルド/クリーン」をトリガーしてください。

以上がNDK Gradle DSL の LOCAL_SRC_FILES からファイルを除外するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート