Tôi đang cố gắng xây dựng một dự án cỡ trung bình trong Eclipse. Nó bao gồm dự án ứng dụng chính và hai thư viện Android. Mọi thứ hoạt động tốt cho đến khi tôi thêm một thư viện JNI rất đơn giản vào dự án chính.Thư viện NDK của Android: findLibrary trả về số trống
Khi tôi chạy các ứng dụng trên thiết bị của tôi nhìn thấy ngoại lệ này trong LogCat:
01-11 17: 19: 01,421: E/AndroidRuntime (26.569): tại java.lang.Runtime.loadLibrary (Runtime.java:429) không thể tải xxx: findLibrary trở rỗng
tôi googled xung quanh các vấn đề tương tự và tôi tin rằng tôi đã làm tất cả mọi thứ một cách chính xác:
- duy nhất tập tin .c và tập tin Android.mk được đặt trong thư mục 'JNI'
- tôi xây dựng thư viện với ndk-công cụ xây dựng
- Thư viện .so được đặt một cách chính xác trong 'libs \ armeabi' thư mục
- tôi thấy rằng kết quả các tập tin apk không thực sự chứa thư viện mẹ đẻ của tôi
Khi tôi tạo một dự án thử nghiệm và liên kết đến mã nguồn gốc rất giống nhau - nó hoạt động tốt. Vấn đề vẫn tồn tại trong dự án chính. Tôi đã cố gắng để tạo ra dự án Eclipse từ đầu nhưng nó không giúp
tôi sử dụng Android Công cụ SDK câu 16
bất cứ ai có thể vui lòng giúp tôi với một đề nghị?
Cảm ơn!
Bạn có thể làm rõ ý bạn là gì? Tôi hiện đang gặp sự cố tương tự nhưng bị nhầm lẫn bởi thiết lập của bạn. Tôi có một dự án Android duy nhất tùy thuộc vào một thư viện JNI duy nhất, chỉ có một tệp .c/.h bên trong nó. – JuiCe
@JuiCe Tôi nghĩ rằng vấn đề của bạn không liên quan đến những gì tôi đã trải qua. Vấn đề của tôi đã được gây ra bởi cố gắng để tải thư viện JNI cư trú trong một dự án thư viện Android. Bạn nên kiểm tra các bài viết khác về chủ đề này – Anton
Có được nó làm việc, cảm ơn cho phản ứng mặc dù. – JuiCe