• 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路径platformsandroid-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的方法、

  • 相关阅读:
    javascript 介绍
    命令提示符(命令行)
    node(1) hello world
    用Vgg16来提取特征
    VGG16学习
    注意力模型
    统计学习方法
    数字图像处理(五)
    数字图像处理(四)
    BN
  • 原文地址:https://www.cnblogs.com/caesura-k/p/12093338.html
Copyright © 2020-2023  润新知