zoukankan      html  css  js  c++  java
  • 修改smali文件,重打包,实现调用第三方SO文件

    Java代码:

    static{
            // //loadlibary里 要把SO文件名的lib和后缀去掉。libfgma.so --> fgma
            System.loadLibrary("fgma"); 
        }

    对应Smali:

    # direct methods
    .method static constructor <clinit>()V
        .locals 1
    
        .prologue
        .line 15
        const-string v0, "fgma"
        invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
    
        .line 16
        return-void
    .end method

    对so中函数的声明:

    public native String GetLocalPort();

    对应Smali:

    # virtual methods
    .method public native GetLocalPort()Ljava/lang/String;
    .end method

    调用:

    String str = GetLocalPort();
    Toast.makeText(this, str, Toast.LENGTH_LONG).show();    

    对应Smali:

    .line 23
     invoke-virtual {p0}, Lcom/dit/mobile/android/fgma3/Mary;->GetLocalPort()Ljava/lang/String;
     move-result-object v0
    
     .line 25
     .local v0, "str":Ljava/lang/String;
     const/4 v1, 0x1
    
     invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
     move-result-object v1
     invoke-virtual {v1}, Landroid/widget/Toast;->show()V
  • 相关阅读:
    NOIP2015 斗地主
    BZOJ 2120: 数颜色
    BZOJ 1014: [JSOI2008]火星人prefix
    BZOJ 4665: 小w的喜糖
    BZOJ 3665: maths
    BZOJ 3270: 博物馆
    BZOJ 1419: Red is good
    【转】二分图的最大匹配
    POJ 3026 Borg Maze(Prim+BFS建邻接矩阵)
    POJ 2485 Highway(Prim+邻接矩阵)
  • 原文地址:https://www.cnblogs.com/xunbu7/p/4342316.html
Copyright © 2011-2022 走看看