wifiAp jar包编译

本文介绍了两种在Android环境下修改系统级API并构建静态库的方法。首先是在FireflySDK上操作,涉及修改ConnectivityManager.java,去除隐藏标志并重新编译。然后在自制SDK上测试,通过新增Android.mk文件并执行mm命令来生成静态库。这两种方法在不同场景下有不同的适用性和效果。
摘要由CSDN通过智能技术生成

方法一(在firefly sdk上测试,存在诸多问题

1 新建文件夹test

2 参考原路径,在其中新建android/net

3 修改ConnectivityManager.java,将TETHERING_WIFI字段、startTethering方法及OnStartTetheringCallback类中隐藏相关的标志去掉,并添加

    /**

     * Callback for use with {@link #startTethering} to find out whether tethering succeeded.

     */

    @SystemApi

public abstract static class OnStartTetheringCallback {

//howard added

        public OnStartTetheringCallback() {

        }

        public void onTetheringStarted() {

        }

        public void onTetheringFailed() {

        }

    }

4 在android源码根目录上执行make update-api

5  cd framework/base/

   mmm, 生新ConnectivityManager.class

6 将/mnt/nctsdc2/selfrk3399sys/android-7.1_src/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes/android/net$ 中编译过的ConnectivityManager.class拷贝到test/android/net目录下

7 在test目录下执行 jar -cvf WifiAp8.jar *,生成WifiAp8.jar

 

方法二(firefly sdk上测试,存在诸多问题,在自制sdk上测试,可行)

1 在/mnt/nctsdc2/selfrk3399sys/android-7.1_src/frameworks/base/core/java/android/net下新建Android.mk

LOCAL_PATH:= $(call my-dir)

#make jar

include $(CLEAR_VARS)

#LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_SRC_FILES :=ConnectivityManager.java

LOCAL_MODULE :=WifiAp8

#include $(BUILD_JAVA_LIBRARY)

LOCAL_JACK_ENABLED := disabled

include $(BUILD_STATIC_JAVA_LIBRARY)

2 执行mm

3 会在/mnt/nctsdc2/selfrk3399sys/android-7.1_src/out/target/product/nct_zz/obj/JAVA_LIBRARIES/WifiAp8_intermediates 下生成javalib.jar,重命名为WifiAp8.jar,导入AS工程使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值