2012-10-04 33 views
22

Tôi đang cố gắng để gỡ lỗi một ứng dụng Android với mã nguồn gốc sử dụng ADT 20.0.3 trên Eclipse và nó đem lại cho tôi lỗi này:Không thể phát hiện ứng dụng ABI khi cố gắng để gỡ lỗi NDK

[2012-10-04 12:09:12 - ndk_android] Unknown Application ABI: 
[2012-10-04 12:09:12 - ndk_android] 
[2012-10-04 12:09:12 - ndk_android] Unable to detect application ABI's 

Các tập tin JNI xây dựng đúng và tôi có thể chạy ứng dụng, với mã gốc.

xây dựng tập tin của tôi Application.mk trông như thế này:

APP_OPTIM  := debug 
APP_ABI := armeabi armeabi-v7a 
APP_STL := gnustl_static 

LOCAL_LDLIBS := $(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_static.a 

Có ai biết những gì là nguyên nhân của lỗi này là gì? Có ai đã gỡ lỗi Native để làm việc với ADT 20 không?

Tôi đang theo hướng dẫn tại đây: http://tools.android.com/recent/usingthendkplugin

EDIT:

Sau khi làm sạch và loại bỏ các tập tin tạm thời/thư mục/cài đặt tôi vẫn nhận được lỗi tương tự. Sau đó tôi đã cài đặt một Eclipse sạch. Cài đặt CDT, sau đó là ADT và dường như đã khắc phục vấn đề này. Tôi tin rằng vấn đề là với Sequoyah hoặc một plugin/cài đặt khác trong Eclipse.

Điều này đã được giải quyết, nhưng bây giờ tôi đang gặp một vấn đề khác. Các điểm ngắt không hoạt động, nhưng tôi sẽ giữ nó cho một câu hỏi khác.

+0

Có, sequoyah không cùng tồn tại với ADT 2.x –

+0

bản sao có thể có của ["Ứng dụng không xác định ABI:" trong khi 'gỡ lỗi dưới dạng ứng dụng gốc'] (http://stackoverflow.com/questions/20047348/unknown-application -abi-while-debug-as-native-application) – CAMOBAP

Trả lời

3

Tôi tin rằng vấn đề là với Sequoyah này hay cách khác plugin/thiết lập trong Eclipse. Tôi đã cài đặt một Eclipse sạch. Cài đặt CDT, sau đó là ADT, và điều đó dường như đã khắc phục vấn đề này.

1

Cố gắng dọn dẹp thư mục OBJ và libs, và chỉ xây dựng một ABI. Ví dụ, thêm APP_ABI = armeabi bên cạnh NDK_DEBUG = 1

+1

Cảm ơn rất nhiều! :) – berserk

11

Chuyển đến Tùy chọn -> Android -> NDK. Bạn thiết lập một đường dẫn chính xác cho điều đó, nó sẽ hoạt động. Cách đó hiệu quả với tôi.

+2

Cảm ơn, điều đó đã giúp tôi. – james82345

+0

Tôi không tìm thấy NDK theo Tùy chọn-Android của tôi. Có gì sai trong trường hợp của tôi không? xin giúp đỡ –

0

Tôi đã giải quyết sự cố bằng cách thêm mục nhập APP_PLATFORM trong tệp Application.mk cũng như đảm bảo cùng phiên bản sdk tối thiểu được đề cập trong tệp kê khai.

Ví dụ: trong trường hợp của tôi, APP_PLATFORM: = 21 được thêm vào tệp Application.mk được thêm vào tệp kê khai.

Ngoài ra, bạn bắt buộc phải giữ điểm ngắt trong định nghĩa hàm jni chứ không phải ở khai báo hàm gốc jni ở phía java.

Hy vọng điều đó sẽ hữu ích.

0

Tôi có lỗi này khi sử dụng NDK r16b, cố định khi chuyển sang r10e.

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