2009-11-06 27 views
9

Tôi đang cố gắng chuyển một ứng dụng từ Eclipse sang IntelliJ. Ứng dụng xây dựng tốt nhưng nó không chạy đúng cách."Không tìm thấy tài nguyên" khi xây dựng ứng dụng Android trong IntelliJ 9.0 Maia Public Beta

Dưới đây là một vết đống phần tôi nhận được:

ERROR/AndroidRuntime(957):    
java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: [email protected] 
     at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:209) 
     at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:123) 
     at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:82) 
     at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:439) 
     at org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:393) 
     at org.joda.time.DateTimeZone.<clinit>(DateTimeZone.java:114) 
     at org.joda.time.chrono.GregorianChronology.<clinit>(GregorianChronology.java:71) 
     at org.joda.time.chrono.ISOChronology.<clinit>(ISOChronology.java:66) 
     at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:97) 
     at org.joda.time.DateTime.<init>(DateTime.java:120) 

Đối với một số lý do, ứng dụng này là không thể tìm thấy các nguồn lực Joda thời gian, mặc dù họ đang xây dựng quy định tại con đường của module. Đây là những jarfiles tương tự được sử dụng bởi phiên bản nhật thực của ứng dụng.

alt text http://img.skitch.com/20091106-pgqujbb5eaeqc2wfiqc2c1p39a.png

APK được xây dựng bởi công cụ IntelliJ là nhỏ hơn so với xây dựng bởi Eclipse khoảng 20%, nhưng tôi không biết tại sao.

Bất kỳ ý tưởng nào có thể là vấn đề?

UPDATE:

Tôi đã nói chuyện với romain và XAV ngày hôm qua, và có vẻ như vấn đề là IntelliJ không bundling nguồn lực vào apk. Rõ ràng aapt thực hiện một cách tiếp cận hai pass - đầu tiên nó gói tất cả các tệp lớp vào một tệp .dex, và sau đó nó gói tất cả các tệp tài nguyên một cách riêng biệt vào cấp cao nhất của tệp apk. Đó là vượt qua thứ hai mà intellij có vẻ là mất tích.

Để giải quyết sự cố này, họ đã đề xuất rằng tôi đã giải nén tất cả các tệp tài nguyên khỏi jar thời gian joda và đặt chúng trong thư mục src của tôi. Kỳ vọng là intellij sau đó sẽ gói chúng vào gói ứng dụng của tôi như thể chúng là một phần của nguồn của tôi, do đó giải quyết được vấn đề. Tuy nhiên, khi tôi đã làm điều này, IntelliJ bỏ qua những tập tin hoàn toàn khi nó tạo ra các gói ứng dụng.

Tôi không biết tại sao. Có thể có một cách giải quyết mà tôi có thể sử dụng để lấy các tệp tài nguyên thời gian joda vào gói ứng dụng của mình mà không phải là bất tiện một cách khủng khiếp mỗi khi tôi muốn xây dựng?

+0

lý do tại sao bạn sử dụng Inteli J. Tôi có nghĩa là lời khuyên của Google để sử dụng Eclipse cho phát triển Android thì có bất kỳ nhu cầu đặc biệt nào mà chỉ các địa chỉ Inetli J không? –

+0

chỉ là sự tò mò của tôi không có gì khác. –

+0

Phải nói, chưa có bất kỳ rắc rối nào với IntelliJ, hãy yêu thích nó nhiều hơn sau đó là Eclipse. Hy vọng bạn tìm ra điều này tôi đã không gặp bất kỳ rắc rối nào khi thêm các jars bên ngoài vào các dự án của tôi. Đề xuất duy nhất của tôi là chỉnh sửa cài đặt bên dưới nút Thêm. – sgarman

Trả lời

1

Đây là phiên bản khá cũ của intellij tại thời điểm này. 10.5 dường như giải quyết tất cả các vấn đề của tôi với android dev

0

Không phải vấn đề của bạn là phạm vi phụ thuộc của bạn? Nếu họ chỉ được sử dụng để biên dịch, nó không phải là garanteed để làm việc tại thời gian chạy là nó?

Tôi không phải là người dùng IJ nhưng từ ảnh chụp màn hình của bạn, đó là phỏng đoán của tôi. Nó cũng sẽ giải thích tại sao kích thước của gói android của bạn thấp hơn 80%.

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