我从apk中提取了.so
文件,我没有写,并在我的android工作室项目中将其添加为库。
我声明类名与.so
文件相同,但是studio无法解析本机方法的名称。我怎样才能用.so
文件找出原生方法的原型?
答案 0 :(得分:0)
您可以列出JNI_Onload
文件中的所有符号,并查找导出的JNI调用。如果JNI方法未在Java_com_xxx
中注册,则它们通常以$ arm-linux-androideabi-readelf -s libtest.so |arm-linux-androideabi-c++filt |grep Java
为前缀。因此,您可以通过以下命令获取所有符号名称。假设您已在开发环境中安装了NDK。
import pandas as pd
d = {'x': {'b': 10, 'c': 20}, 'y': {'b': '33', 'c': 44}}
df = pd.DataFrame([(k,k1,v1) for k,v in d.items() for k1,v1 in v.items()], columns = ['Col1','Col2','Val'])
print df.sort(['Col1','Col2','Val'], ascending=[1,1,1])
Col1 Col2 Val
3 x b 10
2 x c 20
1 y b 33
0 y c 44