2013-06-09 34 views
15

Tôi đang cố gắng gỡ lỗi mã gốc trong ứng dụng Android "csipsimple" bằng cách sử dụng tùy chọn Debug As->Android Native Application. Tôi đã sử dụng hướng dẫn this để làm điều đó. Tôi tiếp tục nhận được các lỗi này:Gỡ lỗi mã gốc trong android dưới eclipse không thành công

[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] Android 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] NDK: 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] Uses 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] local 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] settings 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] 
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI: 
[2013-06-09 17:24:24 - SipHome] 
armeabi 
[2013-06-09 17:24:24 - SipHome] Unable to detect application ABI's 

tôi đã cố gắng

Unable to detect application ABI's when trying to debug NDK (không liên quan, tôi không sử dụng Sequoya),

http://www.cocos2d-x.org/boards/6/topics/24216 (không làm việc)

https://groups.google.com/forum/?fromgroups#!topic/android-ndk/icsQtRy1FZQ (làm việc chỉ một lần bí ẩn)

http://www.mjbshaw.com/2012/11/android-ndk-eclipse-fixing-unknown.html (không phải là vấn đề)

http://en.it-usenet.org/thread/12874/17301/ (không làm việc)

Tôi đang sử dụng gói ADT v22 (eclipse 4.2.1), với r8e Android NDK, dưới Ubuntu 12.10.

csipsimple sử dụng jni và swig để gọi mã gốc.

Tôi tuyệt vọng, hãy giúp tôi!

+0

Liệu Eclipse> Preferences> Android> NDK có con đường đúng đắn? – Slartibartfast

+0

Chúng tôi cũng gặp sự cố này nhưng chỉ sau khi chuyển sang NDK r9. – eodabash

Trả lời

0

Bạn có sử dụng chức năng thông tin, cảnh báo, v.v. để ghi nhật ký thư trong bất kỳ tệp Android.mk nào của mình không? Giống như $(info my-log-message) Dường như việc phải làm của bạn và nó đăng nhập chuỗi:

Android NDK: Sử dụng thiết lập địa phương

Nếu vậy, loại bỏ tất cả chúng và thử lại.

8

Đối với NDK R9 (chỉ hoạt động trong những người khác quá nhưng dòng # có thể khác):

${NDK}/build/core/add-application.mk 
line 138 

add "#" ở đầu dòng.

# $(call __ndk_info,WARNING: APP_PLATFORM $(APP_PLATFORM) is larger than \ 
    android:minSdkVersion $(APP_MIN_PLATFORM_LEVEL) in $(APP_MANIFEST)) 

Một ký tự, sửa 30 giây ... đi gỡ lỗi mã gốc.

+3

Điều này làm cho ứng dụng khởi chạy nhưng vẫn không thể sửa lỗi được (các điểm ngắt nhấn trong mã C++). Chúng tôi nhận được kết quả đầu ra như: "run-as: Package 'com.our.app' chưa được biết Xác minh xem ứng dụng được xây dựng với giải pháp NDK_DEBUG = 1" – eodabash

+1

có hoạt động hay không, nhưng đọc nhận xét ở trên, bằng eodabash .. Ứng dụng không được đã sửa lỗi .. –

+0

Ngắt điểm ngắt không liên quan đến cảnh báo APP_PLATFORM ở trên. Có một số lý do khiến các điểm ngắt có thể không bị tấn công.Hãy thử xây dựng bằng tay từ dòng lệnh bằng cách sử dụng các công cụ Android. Ví dụ: 1) "ndk-build NDK_DEBUG = 1" ... 2) "gỡ rối kiến" ... và 3) ndk-gdb --launch = com.your.app.activity ... để khởi chạy ứng dụng và xác minh có thể đặt điểm ngắt. Nếu ndk-gdb không thể gỡ lỗi C++ thì Eclipse cũng vậy. Ngoài ra, đôi khi, nó cũng giúp chạy và gỡ lỗi ứng dụng dưới dạng ứng dụng java trước rồi chạy lại ứng dụng này để gỡ lỗi gốc. – DevByStarlight

2

Sau khi nhận này để làm việc, và sau đó tái tạo ứng dụng của tôi để xem những gì làm việc, tôi đã tìm thấy những điều sau đây:

trong AndroidManifest.xml, bạn phải thiết lập phiên bản min/mục tiêu SDK để phù hợp với của điện thoại.

[[email protected]:anotherJniDebugTest]$ adb shell getprop|grep build.version 
[ro.build.version.codename]: [REL] 
[ro.build.version.incremental]: [5c6c6b0b1b] 
[ro.build.version.release]: [4.3.1] 
**[ro.build.version.sdk]: [18]** 

do đó, các phiên bản manifest của tôi đã trở thành 18. Nếu tôi đã phiên bản của tôi thiết lập để 17, tôi sẽ nhận được lỗi trên

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