問題タブ [android-library]
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ライブラリプロジェクトと再利用可能なドローアブルリソースがあります。
パッケージ名を次com.vijay.mylib;
のようにするとします。メインプロジェクトがあり、上記のライブラリプロジェクトを使用します。
そのパッケージ名が次のようになっているとしましょう:com.vijay.myproject
。
ライブラリプロジェクトをメインプロジェクトに正しくリンクしたと考えてください。
私のメインプロジェクトには、main.xmlというレイアウトがあります。main.xmlで描画可能なROMライブラリプロジェクトを使用したいと思います。どうすればxmlでそれを行うことができますか?
「@drawable/myImage」のような通常の方法で参照することは私にとってはうまくいきませんでした。レファレンスチューザーウィンドウには、メインプロジェクトからのドローアブルのみが表示されます。図書館プロジェクトからではありません。
(注:両方のプロジェクトにはR.javaのパッケージが異なります。これで何か関係がありますか?)
java - 既存のアプリケーションをライブラリに変換する
既存の Android アプリケーションをライブラリに変換するのは非常に簡単ですis Library
。プロジェクトのプロパティでチェックボックスをオンにするだけです。
ただし、この簡単な手順を適用した後は、さらに深刻なタスクが待ち構えています。それは、元のアプリケーション コードを変更せずに (ライブラリとして!) 保持し、それに基づいてさまざまなアプリケーションを構築する方法です。
つまり、実際には別のアクティビティを追加したくはありませんが、元のアクティビティ (現在はライブラリにあります) を再利用したいのですが、派生アプリケーションごとに (1 つだけのアクティビティの) いくつかのメソッドのみが異なります。 .
ソリューションは、ライブラリのアクティビティをそれに基づいて各アプリケーションでサブクラス化するのと同じくらい簡単ですか?
どのような注意事項に注意する必要がありますか?
より良いアプローチはありますか?
java - Unable to instantiate activity... Caused by ClassNotFoundException
After converting a perfectly working application to a library (including its Activity class!), I am trying to create an application that uses that entire library by simply superclassing the library's activity:
Eclipse builds this newly "re-architected" application without any errors, but when I try to run it, I get an exception:
I have no idea why this is happening since the error for "Class Not Found" when the class is exactly the derived class built (without errors!) and now trying to run.
How do I troubleshoot this?
What am I missing?
EDIT (answering question by @CaspNZ):
This is the AndroidManifest.xml of the library project:
And this is the AndroidManifest.xml of the application, using the library project:
I would appreciate any hint trying to troubleshoot this as this is my first time ever trying to use a library project and I am not familiar with the "tricks" involved to get this working.
android - ライブラリ ベースのアプリケーションが 1 つではなく 2 つの APK ファイルをインストールする - なぜですか?
派生アクティビティのいくつかのオーバーライド可能なメソッドを除いて、すべてのコードがライブラリに存在するように、既存のアプリを再構築しようとしています。これは何らかの理由でまだ機能しませんが、これをトラブルシューティングしようとする過程で、1 つではなく2 つの.apk ファイルがインストールされていることに多くの失望を発見しました(Eclipse からデバッグ セッションを実行したとき)。
- 最初の (そしてより大きなファイル) は元のライブラリ名を持っています。
- 2 つ目 (サイズはわずか 20KB) には、派生したアプリケーション名があります。
その理由と、これについてどこで詳しく知ることができますか?
それは私が抱えているClassNotFoundExceptionの問題を説明できますか?
android - 「ライブラリですか」チェックボックスをオンにすると、「カバーの下」は何をしますか?
[ライブラリ]チェックボックスをオンにして既存のAndroidアプリケーションプロジェクトをAndroidライブラリプロジェクトに変換しても、プロジェクトのソースコードまたはXMLファイルに何も変更がないことに気付きました。
では、「ライブラリ」チェックボックスをオンにすると、実際に何が起こるのでしょうか。パッケージやプロジェクトファイルの内部で何が変更されますか?これについてどこでもっと知ることができますか?
私の質問をよりよく説明するために:
- 私が知りたいのは(主にトラブルシューティングの目的で) 、アプリケーションパッケージとライブラリパッケージの「隠れた」違いは何ですか?
- プロジェクトが「ライブラリプロジェクト」であるという事実はどこかにマークされていますか?もしそうなら、それはどこにマークされますか(明らかにソースファイルではなく、res XMLファイルでもありません)
android - アプリケーションの AndroidManifest.xml でライブラリ プロジェクトからアイコンを参照する方法
ライブラリ プロジェクトから派生したすべてのアプリケーションに同じアプリケーション アイコンを使用しようとしています。
このスレッドで提供されているアドバイスを実装するのと同じくらい簡単だと思いましたが、残念ながらうまくいきません。
私がしたことは<manifest>
、アプリケーションの次の行のタグに追加することですAndroidManifest.xml
:
AndroidManifest.xml
そして、同じファイルの数行下で、典型的なもの@drawable/icon
を次のように変更します。
しかし、うまくいきません!
代わりに、Eclipse は次のように教えてくれます。
エラー: エラー: 指定された名前に一致するリソースが見つかりません ('icon' で値 '@omlib:drawable/icon')。
どうやら、レイアウト XML とマニフェスト XML からドローアブルを参照することは同じではありません。
アプリケーションの AndroidManifest.xml でライブラリ プロジェクトからアイコンを参照するにはどうすればよいですか?
android - Library.apk が見つかりませんでした。
派生した Activity クラスのいくつかのメソッドを除いて、すべてがライブラリ プロジェクトにあるように、アプリケーションをうまく再構築することができました。
Eclipse のコンソール ( LogCat ではない!) が次のエラー メッセージを発行することを除いて、これは美しく機能します。
両方のプロジェクト (ライブラリとアプリケーション)をクリーンアップし、Eclipse を再起動してプロジェクトを再構築しましたが、この奇妙なエラー メッセージが残ります。
このエラー メッセージはどういう意味ですか? (特に、すべてが正常に動作しているように見える光の中で)
どうすればそれを取り除くことができますか?
更新: プロジェクトを削除してから、以下の提案に従って再インポートしてみました。役に立ちませんでした。次に、アプリケーションの AndroidManifest.xml に MyLibrary を参照していることを理解するのに役立つこのスレッドを見つけました。<uses-library>
私はそれを削除し、プロジェクトをきれいにして再構築しました。問題は解決しません。
私は今、これが「本当の問題」であると疑っています。たとえば、いくつかのパスの設定ミスや、私の側の何かです。どうなり得るか?
android - ライブラリ プロジェクトでは、AndroidManifest.xml にパッケージ名が必要ですか?
すべてが期待どおりに機能しているように見えますが、Eclipse のコンソールがエラーを出し続けるという奇妙な問題Could not find Library.apk!
が発生しています。
考えられるすべての「ブードゥー」トリックを使い果たしたので、おそらくそのエラーメッセージの原因は、ライブラリプロジェクトのパッケージ名を指定することにより、Eclipseが期待し、APK?
developer.android.com のライブラリ プロジェクトに関するドキュメントは非常に短く、ライブラリ プロジェクト ベースのアプリケーションへの変換を機能させるために経験しなければならなかったすべての問題について説明しているわけではありません。
ライブラリ プロジェクトでは、AndroidManifest.xml にパッケージ名が必要ですか?
答えが「はい」の場合、APKが存在しないはずなのに、Eclipse が APK を見つけられないと文句を言うのはなぜですか?
android - ライブラリ プロジェクトでアセットを参照する方法
Libraryプロジェクトに属するクラスで、次のように呼び出します。
残念ながら、これはファイル info.html をアプリケーションのプロジェクト アセット フォルダーにも複製した場合にのみ機能します。
Android ライブラリ コードに「アプリケーションのアセット フォルダではなく、ライブラリのアセット フォルダでこのファイルを探してください」と伝える方法はありますか?
android - Eclipse で 2 つのプロジェクトを統合する方法..?
私は eclipse を使用しています。ここでは 2 つのプロジェクトがあります。プロジェクト 1 で使用されたクラスの一部は、プロジェクト 2 でも使用されます。Eclipse で他のプロジェクトのクラスを利用するにはどうすればよいですか。誰かがこれについて知っているなら、私を助けてください。前もって感謝します。