2

私はかなり長い間この問題に苦しんでいますが、オンラインで適切な解決策が見つからないので、ここで助けを求めることにしました.

私は Android Studio を使用して Android Library モジュールを構築しています。私のライブラリには、3 つのビルド タイプ ('release'、'debug'、'releaseDebug') と 2 つのフレーバー (1 つのフレーバー ディメンション): 'generic' と 'custom' が含まれています。各ビルド バリアントの実行の最後に、このライブラリから jar を生成できるようにしたいと考えています。問題は、「Jar」タスクに関するすべての例が、生成された「classes.jar」ファイルを「build/bundles/」からコピーすることを参照していることです。私の場合、「classes.jar」ファイルはそれぞれ異なるパスに生成されますbuildVariant に応じた時間: 'assemblyGenericRelease' の場合、'classes.jar' は 'build/intermediates/bundles/generic/debug/' に生成され、'assemblyCustomDebug' の場合は 'build/intermediates/bundles/custom/debug' などに生成されます。

私の質問は: ビルド プロセス中に生成された「classes.jar」ファイルの場所を取得して、カスタム タスクでコピーして処理できるようにするにはどうすればよいですか?

現在、カスタムタスクを使用して入力「taskRequests」を取得しているため(「gradle.getStartParameters.getTaskRequests.get(0).getArgs()」から)、classes.jar ファイルのパスを解析して取得できますが、かなり醜いので、そうするためのより良い方法があるに違いないと私はまだ信じています。

最後に、私が達成しようとしているのは、この Android ライブラリの 6 つのバリアントを構築することです。各ビルドは「.aar」ファイルと「.jar」ファイルを生成し、「リリース」buildType バリアント - 最終的な「.aar」 & '.jar' も難読化のために DexGuard によって処理されます。

このトピックに関するヘルプをいただければ幸いです。

4

0 に答える 0