android:APP设置以太网静态IP_简要步骤

1、  设置静态IP流程:https://blog.csdn.net/weixin_41722842/article/details/82770904

系统签名打包文件在以上博客中的链接内

2、  在<manifest>标签内加上  android:sharedUserid="android.uid.system"   使其成为系统应用得以调用API隐藏方法  
  使用这个权限需要将add-debug.apk和以下三个文件放在一个文件夹下
  signapk.jar
  platform.x509.pem 
  platform.pk8  
  shift+右键进入cmd中,用以下命令打包签名:
  java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk.apk new.apk

3、  代码分析和调用的系统源码解析:

 https://blog.csdn.net/Purple7826/article/details/80608172

4、示例代码:

https://gitee.com/love_k/staticIp

Android 有两种类型的 API 不能通过 SDK 访问。
一种是在 com.android.internal 包中的 API,称之为 internal API。
另一种是被标记为 @hide 属性的类和方法,这是一组小级别的被隐藏的 API,称之为 hidden API。
 
当使用 Android SDK 进行开发的时候,应用默认引用了 android.jar,
它位于 SDKDir\platforms\android-X 目录下(X 代表 API 级别),
默认移除了所有的被@hide标识的方法或者类以及 internal 包下的类。
framework.jar 和 android.jar 本质上是一样的代码,但是没有移除 internal API 和 hidden API。
 

5、调用framework接口有两种方法:

5.1.1、反射调用

5.1.2、直接把framework的jar放在app里面,让app直接调用

5.2、framework.jar所在位置:   

  这些方法或常量的前面的注释处加了一个@hide,另外还有MTK,高通等在Framework里定义的一些类肯定是找不到的,

  所以就通过编译系统源码,把framework.jar拷贝出来,放入工程的Module里。

  (以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 优先源码编译的framework.jar(android.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的方法、

相关推荐