1 Câu hỏi: dalvik không thể tìm thấy các phương thức, mặc dù chúng tồn tại trong class.dex

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Bắt đầu apk android của tôi trên thiết bị, dalvik phàn nàn không tìm thấy một số phương thức mặc dù tất cả các phương thức này được chứa trong class.dex để xem bằng cách sử dụng gói apkanalyser dex .... Các phương thức này là từ nền tảng cơ sở android.jar

Tại sao dalvik không thể tìm thấy chúng?

Nền: Apk này được xây dựng bằng cách sử dụng các công cụ dòng lệnh mà không cần phân lớp. (Để hiểu các quy trình cơ bản) Nền tảng là Android-25 chính xác 25.3.1 build_tools_version = "27.0.3"

Tin nhắn dalvik:

I/dalvikvm(17763): Could not find method   android.content.res.TypedArray.getType, referenced from method android.support.v7.widget.TintTypedArray.getType
W/dalvikvm(17763): VFY: unable to resolve virtual method 535: Landroid/content/res/TypedArray;.getType (I)I
D/dalvikvm(17763): VFY: replacing opcode 0x6e at 0x0008

nhưng có trong class.dex:

M d 1   1   133 android.support.v7.widget.TintTypedArray int getType(int)
M r 0   1   26  android.content.res.TypedArray int getType(int)

Tôi không mong đợi cảnh báo souch vì các phương thức được liệt kê trong class.dex

    
0
1 Câu trả lời                              1                         

Bất kỳ phương thức nào được tham chiếu (nghĩa là được sử dụng bởi một lệnh gọi) sẽ "tồn tại" trong tệp dex. ví dụ. sẽ có một mục trong danh sách danh sách id phương thức cho phương pháp đó. Điều đó không có nghĩa là phương thức đó tồn tại.

Nếu bạn xem tài liệu 0

2019-05-08 18: 16: 44Z
  1. Rất cám ơn, câu trả lời của bạn rất hữu ích!
    2019-05-09 05: 12: 53Z
nguồn đặt đây