2011-06-13 61 views
73

Tôi quản lý để cơ cấu lại ứng dụng của mình khá độc đáo để, ngoại trừ một vài phương thức trong lớp Activity có nguồn gốc, mọi thứ đều nằm trong Dự án thư viện.Không thể tìm thấy Library.apk!

Nó hoạt động rất đẹp, ngoại trừ Console của Eclipse mà (không LogCat!) Phát thông báo lỗi sau:

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

tôi làm sạch cả hai dự án (thư viện ứng dụng), khởi động lại Eclipse, tái xây dựng các dự án, nhưng thông báo lỗi lạ này vẫn tồn tại.

Thông báo lỗi này có ý nghĩa gì? (đặc biệt là trong ánh sáng mà mọi thứ dường như đang chạy OK)

Làm thế nào để loại bỏ nó?

CẬP NHẬT: Tôi đã thử xóa dự án rồi nhập lại theo đề xuất bên dưới. Nó không giúp được gì. Sau đó tôi tìm thấy this thread đã giúp tôi nhận ra rằng tôi đã có <uses-library> trong tệp AndroidManifest.xml của ứng dụng đề cập đến MyLibrary. Tôi đã xóa nó, làm sạch dự án và xây dựng lại. Vấn đề vẫn tồn tại.

Tôi hiện đang nghi ngờ đây là "vấn đề thực sự", ví dụ: định cấu hình sai một số đường dẫn hoặc phần nào đó khác trên phần của tôi. Nó có thể là gì?

Trả lời

162

Tôi đã tìm thấy nguồn gốc của sự cố!

Nó chỉ ra rằng "với tính năng thư viện mới, bạn không chỉ định các dự án Android mà bạn phụ thuộc vào phần Đường dẫn xây dựng Java của Thuộc tính. Bạn làm điều đó trong phần Android của Thuộc tính".

Vì vậy, tất cả những gì tôi phải làm là đi tới Dự án ứng dụng Properties, nhấn tab Projects, chọn dự án thư viện của riêng tôi và nhấp vào nút Remove. Đó là nó. Không còn vấn đề gì nữa.

Trong Eclipse Java EE chọn Properties dự án, sau đó chọn Project References, sau đó kiểm tra FacebookSDK (xem ảnh chụp màn hình) enter image description here

Nhờ Lance Nanek!

+1

Điều đó waS nó, nó làm việc bây giờ. – sabbour

+0

Tôi không có bất kỳ dự án thư viện nào của mình trong Ứng dụng mY nhưng tôi vẫn gặp lỗi này. Vì vậy, những gì sollution cho nó? –

+0

nếu điều đó không hoạt động, khởi động lại nhật thực sẽ hoạt động sau này. – ercu

1

Bạn đã thử xóa dự án mà không xóa khỏi ổ cứng và nhập lại dự án. Điều đó dường như làm việc cho tôi khi tôi gặp vấn đề này.

+2

Bạn đang nói rằng chương trình ngày nay đã trở nên giống Voodoo và ít giống khoa học hơn? :) Tôi sẽ thử đề xuất của bạn và báo cáo lại. Trong khi đó, +1 cho nỗ lực giúp đỡ. – an00b

+0

Tôi vừa thử xóa dự án ** application ** rồi nhập lại. ** Nó không giúp được **. Bây giờ tôi sẽ thử gỡ bỏ dự án thư viện ... – an00b

+0

Tôi vừa thử gỡ bỏ ** project library ** rồi nhập lại nó. ** Nó không giúp được **. Tôi hiện nghi ngờ đây là ** vấn đề thực **, ví dụ: định cấu hình sai một số đường dẫn hoặc phần nào đó khác trên phần của tôi. Nó có thể là gì? – an00b

0

Sử dụng Eclipse Preferences, bạn có thể kết thúc với libs được thêm vào tất cả các nơi. Tôi đã có một lib tham chiếu trong thư mục/libs và thư viện tham chiếu. Tôi đã phải loại bỏ hoặc xóa chúng khỏi các địa điểm này và chèn nó vào Android Dependencies (sử dụng Preferences -> Android và trình duyệt dưới "là thư viện" hộp kiểm.)

Cách bố trí chính xác cho dự án của tôi: http://www.pasteall.org/pic/show.php?id=34513

4

đó là thú vị ... tôi đã không hoàn toàn làm những gì câu trả lời rõ ..

tôi có một dự án android riêng biệt gọi là "ConnectionHandler" này kết nối với một webservice để lấy thông tin. Dự án này không chứa các lớp hoạt động. (Nếu có, bạn sẽ yêu cầu thay đổi tệp AndroidManifest trong Ứng dụng chính của bạn, cũng như làm theo hướng dẫn bên dưới).

Để sử dụng riêng biệt dự án ConnectionHandler tôi như một thư viện tôi cần phải làm như sau:

  1. Trong ứng dụng Main> Chọn thuộc tính project> Tới Java Build Path> Thêm Chum> Chọn thư mục bin của ConnectionHandler> chọn connectionhandler.jar
  2. Trong dự án ConnectionHandler> Chọn thuộc tính dự án> Android> Kiểm tra isLibrary
  3. Trong ứng dụng Main> Chọn thuộc tính dự án> Đi tới Android > Thêm tham chiếu đến ConnectionHandler trong phần Thư viện.

này làm việc cho tôi, và tôi có thể kết nối với webservice của tôi, mặc dù tôi không có file nguồn để làm điều này trong ứng dụng chính của tôi. Tất cả mọi thứ được chứa trong lọ ConnectionHandler của tôi đang được tham chiếu ..

Hy vọng điều này sẽ giúp người ...

2

Hôm nay tôi bắt đầu nhận được thông báo lỗi này trên quan điểm điều khiển của Eclipse, nhưng nó chỉ ra rằng đây không phải là vấn đề. Ứng dụng của tôi sẽ được xây dựng và cài đặt trên thiết bị của tôi và thậm chí chạy trong một phần nhỏ của giây (cho đến khi nó bị lỗi). Đây là giao diện giao diện điều khiển của tôi trông giống như trên 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 } 

Nhưng khi kiểm tra chặt chẽ LogCat của tôi, có một ngoại lệ ngớ ngẩn bị ném ra khỏi đoạn mà tôi đang cố gắng khởi tạo. Một khi tôi đã sửa mảnh vỡ của tôi (mà đang nâng cấp NPE), mọi thứ đều hoạt động tốt, thậm chí thông qua bảng điều khiển của tôi vẫn nói với tôi rằng nó không thể tìm thấy những APK của thư viện đó.

0

Đối với tôi, lý do điều này xảy ra là dự án thư viện và dự án chính có cùng gói. Cách dễ nhất để thay đổi gói là right click on the library project > Android Tools > Rename Application Package.

0

Giải pháp cho vấn đề này đối với tôi, là xóa các mục nhập sai lầm khỏi tệp kê khai của dự án thư viện.

Sự cố sẽ chỉ xảy ra khi chạy khi lần đầu tiên sử dụng dự án thư viện của tôi. Khi tôi thay đổi thuộc tính Tên Ứng dụng để phản ánh đúng lớp ứng dụng cho dự án mà đã sử dụng dự án thư viện, sau đó nó hoạt động

Các vấn đề liên quan