android:APP設置以太網靜態IP_簡要步驟


手持機開機默認為手動獲取動態IP,每次都要重新手動設置成靜態獲取IP,客戶覺得有點麻煩,想改成可以自動設置。

於是就在網上找了個能用的示例代碼,於是就有了這篇博文。

手持機系統為android 7.0

 

1、示例代碼: https://gitee.com/love_k/staticIp

  經筆者多方查找測試過幾個代碼之后,發現以上代碼經過以下幾個步驟后,可以運行在android7.0系統的手機上;

 

2、設置靜態IP流程: https://blog.csdn.net/weixin_41722842/article/details/82770904

  主要步驟大致上和這篇博文差不多,先有個輪廓;

 

3、在<manifest>標簽內加上  android:sharedUserId="android.uid.system"   使其成為系統應用得以調用API隱藏方法
  使用壓縮軟件打開apk,進入META-INF目錄下,刪除應用程序的3個簽名文件:CERT.RSA  ; CERT.SF ; MANIFEST.MT
  將app-debug.apk和以下三個文件放在一個文件夾下
  signapk.jar
  platform.x509.pem 
  platform.pk8  
  shift+右鍵進入cmd中,用以下命令打包簽名:
  java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk.apk staticip.apk

 

4、代碼分析和調用的系統源碼解析的博文參考:  https://blog.csdn.net/Purple7826/article/details/80608172

  十分詳細地講解了class.jar文件內調用的隱藏方法的實現函數,以及程序源碼的解析

 

 

/******以下為補充說明,僅僅是為了方便理解;******/
 
5、class.jar(位於framework框架下)
  Android 有兩種類型的 API 不能通過 SDK 訪問。
  一種是在 com.android.internal 包中的 API,稱之為 internal API。
  另一種是被標記為 @hide 屬性的類和方法,這是一組小級別的被隱藏的 API,稱之為 hidden API。
 
  當使用 Android SDK 進行開發的時候,應用默認引用了SDK自帶的 android.jar,
  它位於 SDK路徑\platforms\android-X 目錄下(X 代表 API 級別),
  默認移除了所有的被 @hide標識的方法或者類以及 internal 包下的類。
  class.jar 和 android.jar 本質上是一樣的代碼,但是沒有移除 internal API 和 hidden API。
 

  5.1、調用framework接口有兩種方法:

    5.1.1、反射調用

    5.1.2、直接把framework的jar放在app里面,讓app直接調用

  5.2、jar包所在位置:   

    這些方法或常量的前面的注釋處加了一個@hide,另外還有MTK,高通等在Framework里定義的一些類肯定是找不到的,

    所以就通過編譯系統源碼,把class.jar拷貝出來,放入工程的Module里。(網上找或者找linux開發拿)

    (以MTK為例,如果編譯debug版本,直接在out/target/product/projectXX/system/framework下面拷出來,)

    (如果是user版本,目錄為out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar或是classes_full_debug.jar)

  5.3、Android Studio 加入jar包的幾個博文,看起來具有可執行性,先放着吧,我也沒用過。

     https://blog.csdn.net/lei1217/article/details/71627916  

    https://blog.csdn.net/qq_31368801/article/details/81023860

    https://blog.csdn.net/abs625/article/details/79611411

  5.4、Android的四層架構:Linux內核層,核心庫層,應用框架層(framework),應用層

    Framework提供API給上層重復調用,在這層里定義的API都是用Java語言編寫,同時也包含了JNI的方法、


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM