問題タブ [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.

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

android - Androidライブラリプロジェクトの静的フィールドのjava.lang.NullPointerException

最初にプロジェクトの設定方法を説明します。

  • 2つのクラスを持つAndroidライブラリプロジェクト:
    • UserActivity-HolderClassの静的フィールドを使用します
    • HolderClass-これには静的フィールドデータがあります
  • ライブラリプロジェクトを参照するAndroidアプリケーションには、次の1つのクラスしかありません。
    • StarterActivity-アプリが起動すると、onCreateで静的フィールドのデータが何らかの値に設定され、UserActivityが起動します

ここで、問題は次のとおりです。静的フィールドDataに対してjava.lang.NullPointerExceptionが発生することがあります。これは、初期化したことがない(またはその間に値が削除された)かのようです。テストデバイスでは発生しませんでしたが、クライアントデバイスからエラーレポートを受け取り続けています。私はそれがどのように起こるかを推測することしかできません-おそらくユーザーはアプリから離れて戻ってきて、システムはアプリケーションコンテキスト全体を再作成しますが、そのコンテキストでは、HolderClassには空の静的フィールドDataがありますか?

私の質問:

アクティビティのonCreateからのその静的フィールドの初期化は間違ったアプローチですか?ApplicationContextにデータを配置する必要がありますか?または何か他のことをしますか?

私はすべての提案を受け入れます。

PS説明からの視覚化に問題がある場合、私が言ったことすべてがコードでどのように見えるかを次に示します。

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

android - TortoiseSVNでAndroidライブラリのビンファイルを無視しますか?

プロジェクト A とライブラリ プロジェクト B の 2 つの Android プロジェクトがあります。

プロジェクト A は B をAndroid ライブラリとして使用します。

両方のプロジェクトは同じ SVN リポジトリにコミットされており、ほとんどすべてが機能します。

ただし、プロジェクト A の bin ディレクトリは、TortoiseSVN によって更新済みとして継続的にフラグ付けされます。.svn ディレクトリがプロジェクト B のソース ディレクトリからプロジェクト A のソース ディレクトリにコピーされているようです。これは私のリポジトリやプロジェクトのセットアップにまったく干渉していませんが、Tortoise が私のプロジェクトが実際にはコミットされているのにコミットされていないと常に言うのは本当に面倒です。

この問題を回避する方法はありますか? 既に bin ディレクトリを無視リストに追加しているので、なぜそれが表示されるのかわかりません。

0 投票する
4 に答える
1769 参照

android - Android:主なアクティビティを表示する方法は?

別のクラス内からメインアクティビティを表示しようとしていますが、問題はその時点でクラス名がわからないことです(私が書いているコードはAndroidライブラリ内にあり、メインアクティビティは具体的なものですアプリ)。

実行時にメインアクティビティクラスを取得する方法、またはメインアクティビティを起動するインテントを作成するにはどうすればよいですか?

私はこれを試しました:

しかし、何も起こりません。

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

android - Androidライブラリプロジェクトの未使用のリソースとコードがAPKに入らないようにするにはどうすればよいですか?

EclipseワークスペースにAndroidLibraryProjectがあり、これを独自のツールボックスとして使用しています。偶然(1)、ライブラリのリソース(xmlアニメーション、xmlレイアウト、さらにはドローアブル!!!)が、ライブラリを使用しないプロジェクトのAPKにパックされていることを発見しました。

読んだ後Androidは常に未使用のリソースをパッケージ化しますか?、それは正常なのだろうか。どうすればこれを回避できますか?異なる図書館プロジェクトを持つ唯一の方法はありますか?

編集:.dexを逆コンパイルすると、未使用のコードもapkに含まれることがわかりました。

(1)アプリの新しいアイコンをテストしようとしました/res/drawable/icon.pngが、デフォルトのアイコンが表示され続けました。画像を削除しても、デフォルトのアイコンが表示され続けました。/res/drawable-mdpi/icon.pngそれは図書館からのものでなければなりませんでした。

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

android - tuxriderandroidアプリケーション用のjnilibの構築

自分で作成するために、drodinのAndroidアプリ「Tuxrider」のソースコードをダウンロードしました。 https://github.com/drodin/TuxRider

アプリケーションでは、「tuxrider」と呼ばれるライブラリの呼び出しがあります

しかし、そのようなライブラリはなく、そこにあるすべてのファイルからライブラリを構築する方法を理解することはできません。

0 投票する
4 に答える
7458 参照

android - Android: ライブラリ プロジェクトからのクラス定義エラーが見つかりませんでした

エミュレーターでアプリを実行すると、noclassdeffound 例外が発生します。

ActivityTable が例外を引き起こしています。

これは、android-library プロジェクトで定義されています。これは、java ビルド パスと android 参照ダイアログに含まれています。Eclipse にはエラーはありませんが、エミュレーターで起動するとクラッシュします。

ここに私のマニフェストがあります:

これはlogcatからのエラーです:

少し疑わしいのは、コンソールからの次の行です(logcatではありません):

panorama はライブラリ プロジェクトの名前です。

0 投票する
5 に答える
18670 参照

android - Androidライブラリのアセットフォルダがコピーされません

Androidライブラリを作成していassetsますが、画像を含むフォルダーがあります。別のプロジェクトで使用すると、アセットがコピーされません。

他の誰かがこの問題を抱えていましたか?

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

java - Android ライブラリをインポートして、本番コードとテストの両方で使用するにはどうすればよいですか?

アプリから一連の機能をライブラリに抽出しました。問題は、製品コードとテストの両方でライブラリ クラスを利用したいということです。問題は、アプリ、ライブラリ、およびテスト コードが別個のモジュールであるため、アプリ コードとテスト コードの両方がライブラリに依存する必要があることです。テスト モジュールをコンパイルしようとすると、次のエラーが発生します。

.dex不可解ですが、同じクラスをファイルに複数回追加しようとしたことを言おうとしています。テスト コードはライブラリ コードとコンパイル時のアプリに依存し、コンパイル時のライブラリにも依存するため、それほど驚くことではありません。これを回避するために依存関係を設定 (またはコードを変更) するにはどうすればよいですか?

注:私は IntelliJ IDEA 10.5 CE を使用しているため、それらの用語を使用していますが、少なくとも概念的には IDE に依存しない問題だと思います。

0 投票する
8 に答える
50386 参照

android - 別のプロジェクト内での Android ライブラリ プロジェクト アクティビティの使用

別の Android プロジェクト内から使用したい Android ライブラリ プロジェクトがあります。

ライブラリには、その AndroidManifest で宣言された Activity があります。2番目のプロジェクト内で次のことを試すと:

次の例外が発生します。

別のプロジェクトからアクティビティを開くにはどうすればよいですか?

編集:ユーザーの回答により、2番目のプロジェクトに次の行を追加しました

しかし、それはまだ動作しません

0 投票する
8 に答える
36356 参照

android - .jarライブラリを参照するときにスーパークラスエラーを解決できません

  1. 私はAndroidプロジェクトを実行しました。正常に実行されました。
  2. 私はJavaでWebサービスを開発し、それをホストしました。正常に実行されました。
  3. Webサービスを.jarにエクスポートし、Androidプロジェクトに追加しました。
  4. Webサービスでメソッドを呼び出そうとすると、Unable to resolve superclassエラーが発生します。

私のエラーログ: