web-dev-qa-db-ja.com

Android studioでライブラリプロジェクトを使用する方法

このライブラリプロジェクト を既存のプロジェクトにAndroid Studioに追加しようとしています。ライブラリプロジェクトを使用するのは初めてで、チュートリアルや投稿からこれを行うためのさまざまな方法を探しましたが、それを成し遂げることができませんでした。

25
dmSherazi

IDE(->問題なく)を介してライブラリプロジェクトを追加できるかどうかはわかりません。これを行うには、プロジェクトのgradleファイルを次のように構成します。

  • ルートプロジェクトディレクトリにlibsという名前のフォルダーを作成します
  • フォルダーdatetimepicker-librarylibsにコピーします
  • 次のコマンドを使用して、settings.gradleにこのライブラリを追加します。

    include ':libs:datetimepicker-library'
    
  • AppProjectbuild.gradleファイルに移動し、dependenciesに次の行を追加します。

    implementation project(':libs:datetimepicker-library')
    
  • 少なくとも、Gradleファイルを同期する必要があります。ツール-> Android-> Gradleファイルとプロジェクトを同期

これを試してください。エラーが発生した場合は、ログファイルを投稿してください。

29
owe

私はこのようにして、

  1. project Structure from Fileメニュー
  2. 左ペインからmodulesを選択します
  3. 「+」を押す
  4. 新しいモジュールウィザードの手順を完了するMake sure to make the module package name same as the module you want to add
  5. 再び開くProject structureステップ1と同様
  6. モジュールリストからプロジェクトを選択し、右側で依存関係を選択します
  7. クリックしてください +右からのアイコン
  8. モジュールの依存関係を選択し、新しく追加されたモジュールを選択します。
  9. ライブラリプロジェクトのファイルをモジュールとして作成された新しいディレクトリにコピーします
  10. 完了

ステップ1:

step 1

ステップ2:

Step 2

ステップ3:

Step 3

ステップ4:

**Step 4:**

....

ステップ6および7:

enter image description here

ステップ8: enter image description here

7
dmSherazi

上記のソリューションの問題は、ライブラリを使用するアプリでライブラリプロジェクトのクローンが作成されることです。変更を行うとモジュールを削除して再インポートする必要があるため、ライブラリの更新が複雑になります。

私が見つけた解決策は、外部プロジェクトからライブラリプロジェクトを直接使用できるため、元のライブラリファイルを複製しません。

解決策は簡単です...

settings.gradleに次の行を追加します。

include ':commonwidgets'
project (':commonwidgets').projectDir = new File(settingsDir, '../SharedWidgets/commonwidgets')

build.gradledependencyセクションに以下を追加します。

implementation project(path: ':commonwidgets')

注:commonwidgetsはライブラリの名前です。ライブラリの名前とパスに応じて、名前とパスを置き換える必要があります。

これが誰かの助けになることを願っています...

GitHubからライブラリをインポートしたいのですが、プライベートライブラリのjetpackに月額9ドルを支払うことを拒否しました。

0
Ken

他の答えは、通常よりも難しいように見えます。アプリのbuild.gradleファイルの依存関係セクションに単一のcompile行を追加するだけです。

この場合は

dependencies {
    // ...
    compile 'com.github.flavienlaurent.datetimepicker:library:0.0.2'
}

Gradleが同期を促し、同期するとライブラリがプロジェクトに自動的にダウンロードされました。

0
Suragch