問題タブ [android-gradle-plugin]

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.

0 投票する
2 に答える
14634 参照

android - AndroidスタジオGradle ::依存関係{compile 'com.android.support:appcompat-v7:18.0.0'}がコンパイルに失敗する

私は最近、開発のためにアンドロイドスタジオに切り替えました。minsdk、targetsdk でプロジェクトを作成し、sdk を Google Api レベル 8 としてコンパイルしました。

build.gradle ファイルの次のコードが原因で、プロジェクトのコンパイルが失敗します。

なぜこれが起こっているのか誰にもわかりますか?

私のbuild.gradle全体が以下に掲載されています。

以下はスクリーンショットです ここに画像の説明を入力

0 投票する
3 に答える
10251 参照

android - 「署名構成は Gradle ビルド スクリプトで指定する必要があります」... やった

アプリケーションに署名するときに大きな問題があります。ドキュメントに従って署名構成を設定しました。

しかし、まだこのエラーメッセージが表示されます:「署名構成は Gradle ビルドスクリプトで指定する必要があります」

ここに画像の説明を入力

0 投票する
6 に答える
38425 参照

android - Android Studio プロジェクトに Guava を追加するにはどうすればよいですか?

何よりもまず、この質問の存在を認識しています - Android Studio にライブラリ プロジェクトを追加するにはどうすればよいですか? - 残念ながら、それは私を助けませんでした。

私の目標はかなり単純です。Android Studio IDE (0.2.11) とコード内のGuava ライブラリを使用して Android アプリを作成したいと考えています。

私は Gradle を知りません。私は Android Studio を使い始めたばかりで、Visual Studio/C# のバックグラウンドが私を馬鹿にしてしまいました。申し訳ありません (そのミッキー マウスの世界では、通常、ライブラリ参照を追加するだけですぐに使用できます)。

私の手順をスクリーンショットで記録します。私は主にこの回答で与えられたアドバイスに従いました。

librariesプロジェクトフォルダーの下にフォルダーを作成しました。

ここに画像の説明を入力

Guava リポジトリをクローンしました。

ここに画像の説明を入力

ファイルが正常に表示されました。

ここに画像の説明を入力

に行ってProject Structure選びImport Moduleました。

ここに画像の説明を入力

ここに画像の説明を入力

すべてのデフォルトの選択肢を選択Create module from existing sourcesして同意しました。

settings.gradleファイルをinclude ':libraries:guava', ':Test'次のように更新しました。

ここに画像の説明を入力

そして私のbuild.gradleファイルcompile project(":libraries:guava")

ここに画像の説明を入力

しかし、プロジェクトを再構築しようとするたびに得られるのは次のとおりです。

build.gradle以下のようにguavaフォルダに入れてみました:

前述の答えが言うように)。

build.gradleGuavaの「正しい」を見つけるために、グーグルで検索しました。

https://code.google.com/p/guava-libraries/wiki/UseGuavaInYourBuild - 私も役に立ちませんでした。

私は無数のことを試しましたが、ここでは説明しませんが、それらはかなりでたらめでした-モジュールの依存関係を追加しようとした、Use auto-importでオンにしようとしたGradle settingsなど.

それが問題を解決する方法ではないことは承知しており、Gradle のユーザー ガイドを 1 から 5.4.2 から 7.3 まで熱心に読むことを約束します。事業?build.gradle必要に応じてあらゆる種類のものをいじり始めることができるデフォルトファイルがないのはなぜですか?

そして本当の質問- Android デバイスで実際にビルドして実行するアプリを (Android Studio で) どのように作成し、その上で Guava を使用して、50 行のコードを書かずにマップを値で並べ替えることができるようにするにはどうすればよいですか? ? :)

私の質問がおしゃべりな口調で申し訳ありません。私はこのあたりのドリルを知っています。それは私の欲求不満を解消する私の方法です.

同様の問題に取り組んだ質問と回答に対してどれだけ多くの票が投じられたかから判断すると、さらに詳しい指示があると助かるのは私だけではないと確信しています。私はすぐに報奨金を開始しますが、ルールにより禁止されています。

0 投票する
1 に答える
37464 参照

android - Gradle コンパイル エラー「メソッドの署名がありません」

端末から ./gradlew build.gradle を実行しようとすると、次のエラーが発生します。

ルートのbuild.gradleファイルとサブプロジェクトにもJavaプラグインを適用しようとしました。それでも同じエラーが発生します。

次のプロジェクト構造があります。

トップレベルの build.gradle には以下が含まれます:

settings.gradle には以下が含まれます。

TestMobile -> build.gradle には以下が含まれます。

ThirdParty/SlidingMenu -> build.gradle には以下が含まれます。

0 投票する
3 に答える
12421 参照

java - Android Gradle プロジェクトに Apache HttpComponents を含む問題

build.gradle ファイルを使用してアプリケーションに httpmime を含めようとすると、すべて正常にコンパイルされます。代わりに、アプリケーションが実際に MultipartEntityBuilder クラスを使用しようとすると、問題があることを示す WARN レベルのメッセージがログに多数記録されます。

依存関係の私の build.gradle からの抜粋は次のとおりです。

エラーは次のとおりです。

Java クラス:

[編集]回答に従って、正しい依存関係

[2 番目の編集] まだ問題があります - 現在はこれらの他の欠落ビットですが、バックエンドの問題である可能性があります。

[まだ別の編集]

この場合、最後の小さな欠落ビットは、MultipartEntityBuilder の正常な使用に影響を与えないようです。

0 投票する
1 に答える
1720 参照

android - Android Studio 古いバージョンで新しいメソッドを呼び出す

Android Studio 0.2.13 にアップデートした後、API エラー ( Calling new methods on older versions) に関する大量の糸くずの問題があります。数千からの一例:

ここに画像の説明を入力 ここに画像の説明を入力

minsdkはmanifest.xmlから読み込むと教えたのですが?

壮大なビルドで設定しようとしましたが、これは役に立ちませんでした。

ありがとう !

0 投票する
1 に答える
2096 参照

android - タイムスタンプ システム プロパティを Gradle から Android (Java) アプリケーションに渡す

アプリケーションがいつビルドされたかを実行時に Android アプリケーションに認識させたい。私は Gradle を初めて使用しますが、非常に柔軟性があり、外部ヘルパー プログラムやトークンの置換なしでこれを達成できる可能性があると思います。

私のアイデアは、ある種の Gradle ビルド前タスクでタイムスタンプ文字列を計算することでした。次に、この文字列をシステム プロパティとして Java アプリケーションに渡します。例えば:

次に、Java で実行時にタイムスタンプを取得します。

これを達成するために必要なGradleコードを書くにはどうすればよいですか? より具体的には、どこで/どのようにカスタム タスクを呼び出すか、および上記のような方法でシステム プロパティを追加することは可能ですか。

0 投票する
1 に答える
1835 参照

android - Gradle:カスタム依存関係構成を実際に使用する方法、または外部依存関係をローカルのものと交換するにはどうすればよいですか?

質問

Gradleでは、カスタムの依存関係構成が与えられた場合、Androidで実際に使用/コンパイルする最も簡単な方法は何ですか? または、「ローカル」と「外部」の依存関係を切り替える最良の方法は何ですか?

問題

ビルドを容易にし、マルチプロジェクト ビルドをより有効に活用するために、他のユーザーが使用する場合と使用しない場合があるトップレベルの「アグリゲーター」プロジェクトを作成しました。したがって、サブプロジェクトへの変更は、アグリゲーターで自己完結型でなければなりません。

このアグリゲーターのビルド プロセスでは、リポジトリ内のコンパイル済みアーティファクトではなく、サブプロジェクトのローカル バージョン (つまり、編集中のソース コード) を常に使用したいと考えています。さらに、このアグリゲーターは継続的インテグレーション環境で使用され、すべてのサブプロジェクトの単体テストがコードのコミットごとに実行されます。

詳細:部分解法

次のようなフラットなフォルダー構造を考えると、すべてのプロジェクト/モジュールが分離されているため、子は親について何も知りません。

最上位のプロジェクトに次の build.gradle ファイルを作成しました。

構成はlocalProjects適切に機能しており、それぞれが既存の依存関係 (「com.mycompany:utils:1.0.0」や「com.mycompany:models:1.0.0」など) をローカル プロジェクトに正常に置き換えています。唯一の問題は、Android で「コンパイル」ではなく「localProjects」依存関係セットを使用する方法がわからないことです。

純粋な Java の例では、sourceSet のクラスパスを手動で置き換える人を見てきましたが、これは Android プラグインでは簡単に機能しません。

概要

compile, ,debugCompileの代わりにこれらの依存関係でビルドするように、Android ビルドをカスタム依存関係構成にどのようにポイントしますreleaseCompileか?

最終的には、インクリメンタル ビルドを機能させたいだけです。たとえば、「モデル」ソース コードを編集すると、次のようになります。

  • 次回アプリをビルドすると、「モデル」プロジェクトが再コンパイルされます
  • 'networking' または 'utils' コードを再コンパイルしません。
  • これらの変更は、一度ビルドするとすぐにアプリに表示されます (つまり、「最新」の APK を生成するためだけに 3 つまたは 4 つの場所でビルドする必要はありません)。
  • これらのプロジェクトのいずれかにコードを変更するときは、アグリゲーター プロジェクトからビルドを実行するだけで、適切なものがコンパイルされ、生成された APK にマシンの最新コードが反映されます。
  • 同様に、アグリゲーターからすべての単体テストを実行できます
  • 最後になりましたが、これを達成するために既存のプロジェクトを編集することはできません。プロジェクトにはアグリゲーターを使用することを選択しない他のエンジニアがいる可能性があるため、すべての変更はアグリゲーターで自己完結型でなければなりません。

これは非常に一般的な使用例であり、Gradle チームは、この種のことに対するより良いサポートを将来追加すると述べています。それまでの間、これをどのように解決しますか?