問題タブ [gradle-experimental]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 実験的プラグインのフレーバー ディメンションとバリアント フィルターは?
実験的な Gradle プラグインを使用してフレーバー ディメンションとバリアント フィルターを定義するための構文を知っている人はいますか? (これには、各フレーバーのcreate()
ブロック内の特定の次元にフレーバーを割り当てるための構文が含まれます。)
実験的なプラグインのユーザー ガイドでは、これについては何も触れられておらず、コード サンプルに例が見つかりませんでした。プラグイン バージョン 0.2.1 ( com.android.tools.build:gradle-experimental:0.2.1
) を使用しています。通常のプラグインの構文は明らかにまったく機能しません。
Google Play と Amazon AppStore のプロダクト フレーバーを定義する元のスクリプトを次に示します。
このアプリはネイティブ コードを使用しているため、さまざまなハードウェア プラットフォーム用のディメンションを追加したいと考えています。また、Amazon AppStore と Google Play では異なるハードウェアをサポートするためのモデルが異なるため、バリアント フィルターを使用して、市場ごとに異なるハードウェア プラットフォームを扱いたいと考えています。
私は暗闇の中で盲目的につまずき、フレーバーの次元を定義するために多くのことを試みました。これらはすべて、Gradle スクリプトをコンパイルするときにエラーを生成します。
ステップ1で立ち往生しているため、バリアントフィルターの作成はまだ試していませんが、「知っている」誰かからのガイダンスがないため、同等の(欠如した)成功を期待しています。
試行 1:
エラー:
そのようなプロパティはありません: クラスのフレーバーディメンション: com.android.build.gradle.managed.ProductFlavor
試行 2:
エラー:
そのようなプロパティはありません: クラスのフレーバーディメンション: com.android.build.gradle.managed.AndroidConfig
試行 3:
エラー:
プロジェクト ':app' の構成中に問題が発生しました。
次のモデル ルールはバインドされていません: model.android.flavorDimensions Mutable
:
- android.flavorDimensions (java.lang.Object)
試行 4:
エラー:
そのようなプロパティはありません: クラスのflavorDimensions: org.gradle.model.dsl.internal.NonTransformedModelDslBacking
android-studio - Gradle Experimental Plugin で C/C++ インクルード パスを設定するにはどうすればよいですか?
ヘッダー ファイルがモジュールのメイン ソース フォルダーとは異なる場所にある場合、Android Studio はヘッダー ファイルを見つけることができません。これは、#include "SDL_config.h" ステートメントが赤色で強調表示されていることでわかります (他の #include ステートメントは問題ありません)。
以下の cppFlags の値を変更しようとしましたが、これらの cppFlags がコンパイラに渡されていることさえ疑っています。
この方法で、メインのソース フォルダー以外のフォルダーからファイルを含めることができた人はいますか?
cppFlags、あるいは moduleName、さらにはソースを指定した方法に問題はありますか?
SDL2 ソースを調べて、すべての #include ステートメントを相対的な #include パスに変更することもできますが、SDL2 ソースを実際に変更する必要はありません。どうにかしてインクルードパスのリストを指定できるはずです。
更新: 現在のプロジェクト レイアウトに関する詳細情報は次のとおりです。
app/src/main/jni app/src/main/jni/src/Main.cpp <- これは app/src/main/jni/SDL2 をコンパイルしています <- すべての SDL2 ソースはここにあります app/src/main/jni/ GLM <- すべての GLM ソースはここにあります
このレイアウトは、ここで提供されたサンプル プロジェクトを使用した直接の結果です: https://gitlab.com/scannerdarkly/hello-sdl-android
そのプロジェクトは、コマンド ラインから ndk-build を使用してビルドされます。Android Studio 内でビルドすることで、さらに一歩進めたいと考えました。私のプロジェクトは、GLES2 デバイスで三角形を描画しようとします。
これまでの私の現在のプロジェクトへのリンクは次のとおりです。
http://www.mediafire.com/download/92577p7vf123l72/hello-sdl-android.zip
android-studio - Android Studio、NDK - アプリケーションを実行できない
Gradle実験的プラグインを使用して、Android StudioとNDKでテストSDL2アプリを(最終的に)構築することができました。
プロジェクトを実行しようとすると、実行されません。次のエラーが表示されます。
私のプロジェクトはここからダウンロードできます:
誰かがこれを実行するのを手伝ってくれませんか?
スタック トレースは次のとおりです。
--debug と --info をオンにしたトレースの一部を次に示します。ここに重複ファイルがあることを確認できません。実際にガイダンスが必要です。
android-studio - Android Studio モジュールでさまざまな gradle ビルド ツールを使用する
多くのモジュールを含むアプリに新しい実験的ビルド ツール (gradle-experimental:0.2.1) を実装しましたが、現在の API はかなりひどいもので、特定のライブラリと互換性がありません。
すべての ndk コードをモジュールに取り込み、実験的なビルド ツールで ndk モジュールのみを処理し、残りのアプリには公式のビルド ツールを使用することが可能かどうか興味があります。すべての実験的な頭痛の種を小さなモジュールに分離することは素晴らしいことです。
いくつか試してみましたが、常に gradle 同期エラーが発生しました。これが実現可能かどうかに関して、オンラインで何も見つかりませんでした。
android-studio - Android Studio で実験的な新しい gradle を使用する方法
Android Studio NDK で非常にこんにちはワールドを作成しました。http://tools.android.com/tech-docs/new-build-system/gradle-experimentalの指示に従って、まったく同じものをコピーしました (新しいビルド ツール バージョンのみを残しました) が、常にエラーが表示されます: エラー: (49, 1) プロジェクト ':app' の評価中に問題が発生しました。
プロジェクト ':app' で引数 [junit:junit:4.12] のメソッド testCompile() が見つかりませんでした。
HelloWorld の問題点を教えてください。これが私のアプリbuild.gradleです
およびbuild.gradle
および gradle-wrapper.properties
c++ - gradle-experimental プラグインを使用した android-studio の cocos2dx ベースのプロジェクト
Gradle-experimental 0.6.0-alpha1 準拠の build.gradle ファイルがあります。
また、エンジンとして cocos2dx を使用しています。次のようなフォルダー階層があります。
- クラス (私のプロジェクトのすべての C++ コードが含まれています)
- proj.android/src/main/projectName/jni (cocos2d がフックするための main.cpp ファイルが含まれています)
また、proj.android 以外の別のフォルダーにある他の多くの cpp クラスもあります (たとえば、cocos2d cpp ファイルは proj.android/../../../dependencies/XXXX/cocos2d-x にあり、エンジン ファイルは proj.android/../../../dependencies/XXXX/engine にあり、すべての C++ コードは proj.android/../Classes にあります (すべての cocos2dx プロジェクトと同様)。
最新の gradle 実験的プラグイン (gradle-experimental-0.6.0-alpha1) を使用してアプリケーションを構築しようとしています。
最初にそのままビルドして、プロジェクトをコンパイルして実行しようとしましたが、gradle ビルドに C++ ソース ファイルを含めていなかったため、空でした (libMyApp.so は生成されませんでした)。
次に、ソースファイルフォルダーへのシンボリックリンクを作成して、gradleがそれらを選択できるようにしました。
(./gradlew assembleDebug)をビルドしているとき、シンボリックにリンクされたC++ファイルをコンパイルしますが、何を試しても、ヘッダーの最初のインクルードで毎回失敗します。
ここで説明されているように、次を使用してソースファイル/ヘッダーインクルードを追加しようとしました:
しかし、欠落している「.h」ヘッダーを見つけることができませんでした。cocos2Dx、gradle-experimental、および android-studio を使用して結果的な C++ プロジェクトをビルドしようとしたことがある場合は、経験を共有してください。コンパイルできるようになったら、ある種のガイドをコンパイルしようとします(いつか:))
参考までに:最新のgradleドキュメント:
https://docs.gradle.org/2.9/userguide/nativeBinaries.html
便利なリンク:
android - srcDir srcFile ディレクティブを介した gradle の実験的なインクルード ファイル ディレクトリ
srcDir のインクルードが gradle 実験ファイル (cpp AND h) でどのように機能するかを知っている人はいますか? これは一種の「3 倍」の質問です。
1°) srcDir はどのように機能しますか?
1.a°) すべてのサブディレクトリを再帰的に含めますか? 深いレベルのファイルのみが含まれますか? すべての cpp/c/cc/cxx ファイルが含まれていますか?
たとえば、このコマンド:
src の下にすべての cpp ファイルが含まれていますか? src の下のすべてのファイル? すべての cpp ファイルを再帰的にサブディレクトリに入れますか? すべてのファイルを再帰的にサブディレクトリに入れますか?
Googleのドキュメントは非常にあいまいです:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental
gradleも明確ではありません:
https://docs.gradle.org/current/userguide/nativeBinaries.html
src/${name}/cpp のみが含まれていると言っていますか?どういう意味ですか?作成する必要がありますか
フォルダ?
1.b°) ヘッダーについて:
ヘッダーに適用される srcDir ディレクティブは、ソースの srcDir とは異なる動作をする気がします (現在の深さのヘッダーのみが含まれます)。
2°) ファイルとディレクトリを混在させたい場合はどうすればよいですか?
動作しないようです
3°) include/exclude ディレクティブはどのように機能しますか?
include/exclude ディレクティブはどうですか? それらは前の srcDir ステートメントにのみ適用されますか? それとも、「ソース」ブロックのすべてのステートメントに適用されますか?
やっている:
cpp ファイルが含まれていないようです。このフォルダー階層のすべての cpp ファイル、または src の下のすべての cpp ファイルが含まれると思っていましたが、含まれていないようです。
最新の gradle-experimental-0.6.0-alpha3 プラグインで必要な gradle 2.9 を使用していることを指摘したいと思います。