問題タブ [library-project]
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 - Android ライブラリ プロジェクト: リファクタリングとナビゲーション
現在 (時間の経過とともにかなり変更されました) Android ライブラリ プロジェクトは、参照元プロジェクトの jar ファイルになります。このアプローチにはいくつかの問題があります。つまり、コードのリファクタリングとナビゲーションです。
依存プロジェクトの変更 (名前の変更など) を考慮するライブラリをリファクタリングする方法はありますか? 現在、ライブラリ プロジェクトでの名前の変更は、依存プロジェクトに反映されません。プロジェクトごとに、現在手動で調整する必要があります。(回避策: 依存プロジェクトからライブラリ参照を削除し、ライブラリ プロジェクトをプレーンな Java プロジェクト参照として追加します。)
また、依存プロジェクトからライブラリに移動すると、ライブラリ プロジェクト jar 内の逆コンパイルされたクラスに移動しますが、ソースには移動しません。私の Eclipse セットアップはめちゃくちゃですか、それとも現在の Android ライブラリの方法ですか?
android - Androidライブラリプロジェクトの使用中にエラーをビルドする
私はgithubでこのライブラリプロジェクトを使おうとしています:
https://github.com/pakerfeldt/android-viewflow
このAndroidライブラリプロジェクトは、水平方向にスワイプします。
このライブラリをどのように使用しようとしているのかを説明します。
- このプロジェクトをgithubからダウンロードし、「ExistingProjectsintoWorkspace」を含む「viewflow」プロジェクトをインポートしました。(Eclipseでいくつかのエラーが発生しますが、修正しました。問題ではありません。)
- 「test」という名前の新しいAndroidプロジェクトを作成しました。
- テストプロジェクトのビルドパスにviewflowプロジェクトを追加しました。(Javaビルドパス->プロジェクト->追加を使用)
- これが私のmain.xmlです:
しかし、Eclipseはこれらのエラーを出します:
サンプルプロジェクト( https://github.com/pakerfeldt/android-viewflow/tree/master/viewflow-example )をインポートしましたが、問題なく動作します。
問題は名前空間にある可能性がありますが、これを修正できませんでした。
android - Android: ライブラリ プロジェクト app -> liba -> libb から利用できないリソース
全て、
アプリ内で既存のオープンソース プロジェクト (A と呼びます) をライブラリとして使用しようとしています。プロジェクト A には、独自のライブラリ プロジェクト (B) も付属しています。プロジェクト A は正常にコンパイルおよび実行されます。ただし、アプリ内で A を使用しようとすると (A 内の「Is Library」を確認し、アプリに A を追加しました)、「パッケージ内の属性 'X' のリソース識別子が見つかりません...」というエラーがいくつか表示されます。特定の属性が B 内に存在します。それらが A 内の R に追加されていることも確認しましたが、実際にはそうでした。
私の質問: アプリがこれらのリソースの存在を認識しないのはなぜですか?
私はあちこちを検索しましたが、私のような状況は1つしか見つかりませんでした:
Android ライブラリがそのリソースを他のプロジェクトにプルしていない
しかし、私のリソースの名前が同じであることはわかりません。
私はADT v20.0でEclipseを使用しています
どんな助けにも感謝します!
編集: 役立つ場合は、使用しようとしているオープンソース アプリは AnySoftKeyboard (ASK) です。また、新しいプロジェクトを作成し、ASK をライブラリとして追加しようとしましたが、さいころはありません。
EDIT2: R Id はライブラリの final として宣言されていないため、ASK をライブラリにする一部で、いくつかの switch ステートメントを if-else ステートメントに変換する必要がありました。
android - ライブラリ プロジェクトの再コンパイルと依存プロジェクトの再コンパイル
プロジェクト A をライブラリ プロジェクトとしてビルドし、プロジェクト B をライブラリ プロジェクト A を含む標準プロジェクトとしてビルドした場合、ライブラリ プロジェクト A のコードを変更すると (つまり、プロジェクト A が再コンパイルされると) どうなりますか?
次にプロジェクト B を再コンパイルすると、プロジェクト A に新しいコードが自動的に含まれますか? ライブラリ プロジェクトが変更されたかどうかを理解するためにプロジェクト A のマニフェスト内のバージョンを調べますか、それともプロジェクト A の jar ファイルのタイムスタンプを調べて、プロジェクト B に最後に含まれてから再コンパイルされたかどうかを確認しますか? ?
android - 大規模なライブラリ プロジェクト Android の設定時のエラー
別のプロジェクトのボタンでスタンドアロンの Android プロジェクトを開始したい。最初に、「環境設定の is Library」で Hello World を使用して別のプロジェクトを参照するボタンを備えたシンプルなメイン アプリを作成しました。http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProjectによると、問題なく動作しました。
オープン ソース プロジェクト (パズル) http://code.google.com/p/androidsoft/source/browse/#svn%2Ftrunk%2Fpuzzleでも同じことをしましたが、LogCat でエラー メッセージが表示され、クリックするとアプリがクラッシュします。メインアプリのボタン。
AndroidManifest.xml で何かを見逃している可能性があると思います
問題なくパズルを独自のプロジェクトとしてコンパイルできます。パズルがライブラリの場合は機能しません。
2 番目のプロジェクトを開始するボタンを備えたメイン アプリ
Android:name="org.androidsoft.games.puzzle.kids.MainActivity を使用したメイン アプリの AndroidManifest.xml
ライブラリとして使いたいパズルの AndroidManifest.xml http://code.google.com/p/androidsoft/source/browse/trunk/puzzle/AndroidManifest.xml
LogCat エラー
android - ANTがライブラリプロジェクトで失敗する(ActionBarSherlock、HoloEverywhere)
昨日は以前の問題をすべて修正することができ、シンプルなAndroidアプリは問題なく実行されています。
それらのためにすべてを設定した後、私は私のより複雑なアプリの3つに対して同じことをしようとしました。これらのアプリはすべて、ActionBarSherlockとViewPagerIndicatorを使用します。
最初の問題は、プロジェクトが(holoeverywhereなしで)ある場合、すでに追加されているクラスを追加しようとするため、antがコンパイルできないことでした。問題の原因となっているライブラリはわかっています->android-support-v4.jarですが、削除できません。ViewPagerIndicatorとActionBarSherlockに必要です。
2つ目の厄介な問題は、HoloEverywhereを追加するとすぐに(依存関係としてActionBarSherlockが必要)、次のエラーが発生することです。
ActionBarSherlockスタイルへの参照が欠落していると書かれているのは知っていますが、なぜですか?元のant-scriptを使用し、ライブラリへのすべてのパスを修正できたとしても(antはライブラリプロジェクトのbuild.xmlで定義されたproject.propertiesを無視します)、ビルドできません。
ヒントやアイデアはありますか?
上記のすべては大丈夫のようです。
パス内の**は、実際のパスを非表示にするためだけのものです。スクリプトは正しいパスを知っています。
android - ライブラリ プロジェクトで使用されるアセットは何ですか?
私のライブラリ プロジェクトの 1 つで魔法のようなことが起こっています。レイアウト (res/layout) はライブラリ プロジェクト自体から取得されますが、assets フォルダー内のファイルは (ライブラリ プロジェクトではなく) 呼び出し元のプロジェクトから取得されます。
現在、ライブラリ プロジェクトでヘルプ アクティビティを作成しています。呼び出し元のプロジェクトは、ライブラリ プロジェクト内のアクティビティにファイル名を指定します。ファイルは、ライブラリ プロジェクトではなく、呼び出し元のプロジェクトに保存されます。
ライブラリ プロジェクトで AssetsManager を使用すると、ライブラリ プロジェクトのアセット フォルダーからではなく、呼び出し元プロジェクトのファイルが使用されます。
これは正しい動作ですか?
ルート プロジェクトのアクティビティの呼び出しを簡略化したものを次に示します。
ライブラリ プロジェクトのアクティビティは次のとおりです。アセットは、呼び出し元のアクティビティ/プロジェクトからではなく、ここからフェッチされると思いました:
android - Android の「Gridlayout ライブラリ プロジェクト」を自分のプロジェクトに直接インポートする
Android 4.0 デバイスで Gridlayout を使用する方法は既にわかりました。サポート ライブラリをダウンロードし、ライブラリ プロジェクトとしてインポートしてから、自分のプロジェクトでライブラリとして参照しました。しかし、私は自分のプロジェクトにライブラリを直接持ちたいと思っています。libs フォルダーのファイルを自分の libs フォルダーに既にコピーしました。また、attrs.xml と dimens.xml を自分のプロジェクトにコピーしました。次に、両方のjarファイルをビルドパスに追加しました。Eclipse自体にはエラーはありませんが、「見つからないなど」の問題があるため、Androidレイアウトエディターはレイアウトをレンダリングできなくなりました(これは私のオフィスからではなく書いているので、残念ながら正確なエラーメッセージですが、明日行います)。
1 つのプロジェクトで本当にすべてが必要です。私は何かを忘れましたか?それは可能ですか?誰かがすべてを 1 つのプロジェクトにマージした「グリッド レイアウト サポート ライブラリのサンプル」が見つからないためです。
私の問題を理解していただければ幸いです。よろしくお願いします。
EDIT これは私のレイアウトエディタが言うことです:
com.android.layoutlib.bridge.MockView は android.view.ViewGroup にキャストできません 例外の詳細は [ウィンドウ] > [ビューの表示] > [エラー ログ] に記録されます 次のクラスをインスタンス化できませんでした: - android.support.v7.widget.GridLayout (Openクラス、エラー ログの表示) 詳細については、エラー ログ ([ウィンドウ] > [ビューの表示]) を参照してください。
そして、ここでエラーログメッセージに:
general.xml: com.android.layoutlib.bridge.MockView を android.view.ViewGroup にキャストできない
android.support.v7.widget.GridLayout のインスタンス化に失敗しました。
android - Androidのライブラリプロジェクトからアプリケーションアクティビティを呼び出す
Ok、
そこで、UI要素のライブラリプロジェクトを作成しています。ライブラリには、Androidのアクションバーの下位互換性ライブラリであるActionBarSherlockに基づくいくつかのアクティビティがあります。これらのアクティビティでは、ライブラリプロジェクトで使用しているアクティビティに関係なく、ユーザーを家に連れて行くボタンをアクションバーに配置したいと思います。
いくつかの用語。「ライブラリ」とは、私が取り組んでいるAndroidUIライブラリプロジェクトを指します。「アプリケーション」とは、開発者がライブラリを含めて使用している可能性のあるすべての顧客を指します。
通常、アクティビティを作成して別のアクティビティに電話をかけたい場合は、次のようにします。
十分に単純です。しかし、ここに注意が必要です。Androidライブラリは、どのアプリケーションがそれらを使用しているかについてほとんど、またはまったく知識がありません。したがって、「WhateverMyActivityName.class」は、開発者アプリケーションがアクティビティと呼ぶものを予測する方法がないため、役に立ちません。
交換する必要があります
このようなもので
または、アプリケーションのメインアクティビティを呼び出す何らかのインテントアクションを使用する可能性があります(Intent.ACTION_MAIN or Intent.CATEGORY_LAUNCHER)
つまり、ライブラリプロジェクトからアプリケーションのメインアクティビティを取得するにはどうすればよいですか?
android - ProjectAndroidにライブラリプロジェクトを含める
個別のプロジェクトでなくても、ライブラリプロジェクトをプロジェクトに含める方法はありますか?理想的な状況は、ライブラリプロジェクトにコードを変更し、それをメインの参照プロジェクトでgitリポジトリにプッシュできるようにすることです。