web-dev-qa-db-ja.com

Library.apkが見つかりませんでした!

派生したActivityクラスのいくつかのメソッドを除いて、すべてがライブラリプロジェクトにあるように、アプリケーションをかなりうまく再構成できました。

Eclipseのコンソール(notLogCat!)が以下のエラーメッセージを発行することを除いて、これは美しく機能します。

[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!

両方のプロジェクト(ライブラリおよびアプリケーション)をクリーンアップし、Eclipseを再起動し、プロジェクトを再構築しましたが、この奇妙なエラーメッセージが持続します。

このエラーメッセージはどういう意味ですか? (特に、すべてが正常に実行されているように見えるという点で)

どうすればそれを取り除くことができますか?

[〜#〜] update [〜#〜]:以下の提案に従って、プロジェクトを削除してから再インポートしようとしました。助けにはなりませんでした。その後、 このスレッド を見つけたので、MyLibraryを参照するアプリケーションのAndroidManifest.xmlに<uses-library>が含まれていることに気付きました。私はそれを削除し、プロジェクトをきれいにして再構築しました。問題は解決しません。

私は今これが「本当の問題」だと疑っています。私の側のいくつかのパスまたは何か他のものの設定ミス。どうなり得るか?

73
an00b

問題の原因を見つけました!

新しいライブラリ機能では、依存するAndroidプロジェクトをJava Build Pathセクションで指定しないことがわかりました。プロパティ。プロパティのAndroidセクションで行います "。

そのため、アプリケーションプロジェクトのPropertiesに移動し、Projectsタブをクリックして、独自のライブラリプロジェクトを選択し、Removeボタンをクリックするだけでした。それでおしまい。もう問題ありません。

EclipseでJava EEプロジェクトのプロパティを選択し、Project Referencesを選択して、FacebookSDKを確認します(画面キャプチャを参照) enter image description here

Lance Nanek

162
an00b

それはおもしろい...答えが示すことをまったくしなかった..

Webサービスに接続して情報を取得する「ConnectionHandler」と呼ばれる別のAndroidプロジェクト)があります。このプロジェクトにはアクティビティクラスはありません。(必要な場合は、メインアプリケーションでAndroidManifestファイルを変更する必要があります。また、以下の手順に従ってください)。

別のConnectionHandlerプロジェクトをライブラリとして使用するには、以下を実行する必要がありました:

  1. [メインアプリケーション]> [プロジェクトプロパティの選択]> [Java Build Path> Add Jars]> ConnectionHandlerのbinフォルダーを選択> connectionhandler.jarを選択]
  2. ConnectionHandlerプロジェクトで>プロジェクトのプロパティを選択> Android> Check isLibrary
  3. [MainApplication]> [プロジェクトプロパティの選択]> [Android> [ライブラリ]セクションでConnectionHandlerへの参照を追加]に移動します。

これはmeで機能し、メインアプリケーションでこれを行うソースファイルがない場合でも、Webサービスに接続できます。すべてが、参照されているConnectionHandler jarに含まれています。

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

4
ryvianstyron

今日、Eclipseのコンソールビューでこのエラーメッセージを取得し始めましたが、これは問題ではないことがわかりました。私のアプリケーションはビルドされてデバイスにインストールされ、ほんの一瞬(クラッシュするまで)実行されました。これは、Eclipseでのコンソールビューの外観です。

[2013-06-03 09:42:25 - my-Android] Android Launch!
[2013-06-03 09:42:25 - my-Android] adb is running normally.
[2013-06-03 09:42:25 - my-Android] Performing com.my.Android.activity.MainActivity activity launch
[2013-06-03 09:42:25 - my-Android] Uploading my-Android.apk onto device '650rfs2e'
[2013-06-03 09:42:31 - my-Android] Installing my-Android.apk...
[2013-06-03 09:42:35 - my-Android] Success!
[2013-06-03 09:42:36 - my-other-Android] Could not find my-other-Android.apk!
[2013-06-03 09:42:36 - Android-SherlockFragment] Could not find Android-SherlockFragment.apk!
[2013-06-03 09:42:36 - my-Android] Starting activity com.my.Android.activity.MainActivity on device 650rfs2e
[2013-06-03 09:42:36 - my-Android] ActivityManager: Starting: Intent { act=Android.intent.action.MAIN cat=[Android.intent.category.LAUNCHER] cmp=com.my.Android/.activity.MainActivity }

しかし、LogCatを詳しく調べてみると、初期化しようとしたフラグメントからスローされた愚かな例外がありました。フラグメント(NPEを発生させていた)を修正すると、すべての問題は解決しました。コンソールからでも、これらのライブラリAPKが見つからないと表示されます。

2

ハードドライブから削除せずにプロジェクトを削除して、プロジェクトを再インポートしてみましたか。この問題が発生したとき、それは私にとってはうまくいくようでした。

1
Novazero

私にとってこの問題の解決策は、ライブラリプロジェクトのマニフェストファイルから誤ったエントリを削除することでした。

クラッシュは、ライブラリプロジェクトの最初の使用に達したときにのみ実行時に発生します。 sedライブラリプロジェクトであるプロジェクトの正しいアプリケーションクラスを反映するようにアプリケーション名プロパティを変更したら、それは機能しました

0
Shane

私にとって、これが起こっていた理由は、ライブラリプロジェクトとメインプロジェクトのパッケージが同じだったからです。パッケージを変更する最も簡単な方法は、right click on the library project > Android Tools > Rename Application Package

0
Jarett Millard

Eclipse Preferencesを使用すると、ライブラリが至る所に追加されることになります。/libsおよびReferenced Librariesフォルダに参照ライブラリがありました。これらの場所からそれらを削除または削除し、Android Dependencies(Preferences-> Androidを使用し、[Is Library]チェックボックスの下を参照します。 )

私のプロジェクトの正しいレイアウト: http://www.pasteall.org/pic/show.php?id=3451

0
darKoram