前言

由于项目要对接华为Anyoffice平台,所以需要引入对应SDKjar包和so库。其实网上有很多资料可以查到:AS下如何导入jar包和so库。但是正因为资料很多,所以说法不一,有些配置已经不再适用,有一些则写的比较混乱,容易引起误导。同时也出于总结的原因,所以才有了这篇文章。

导入jar包

将需要导入的jar包复制到module/libs/目录下

修改module/build.gradle文件的dependencies闭包,编辑这个文件有两种方法:

加入编译jar包的代码,点击AS自动弹出的sync now即可。

dependencies {

compile files('libs/AnyOfficeSDK.jar')

}

如果你不想在引入每个jar时,都进行上面的操作。那么你完全可以添加下面这行代码,表示编译所有的jar包。同样点击AS自动弹出的sync now

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')

}

导入so库

在module/src/main目录下新建文件夹,文件夹名称为jniLibs,注意大小写不要写错了

将需要导入的so库复制到jniLibs目录下即可

遇到的问题

我按照上面的步骤成功导入了jar包和so库,编译并且打包成功。但是在运行app时,闪退!通过抓取日志,发现没有找到jar包的方法:

No pending exception expected: java.lang.NoSuchMethodError: no static method

为什么明明导入了jar包,却仍然找不到jar包中的方法呢?由此怀疑是否jar包没有打入apk中呢?又或者已经打入apk,系统为什么没有找到呢?那什么会影响编译打包呢?由此我想到了混淆,打开proguard.cfg文件,添加如下代码:

-dontwarn com.huawei.**

-keep class com.huawei.**{*;}

-dontwarn 表示让ProGuard不要警告找不到com.huawei.** 这个包里面的类的相关引用

-keep class 表示保持com.huawei.** 这个包里面的所有类和所有方法不被混淆

再次编译打包,发现apk大小要明显大于之前的包。运行app,问题解决!

android在哪引jar包,Android Studio引入jar包和so库相关推荐

  1. java第三方包_java客户端引入第三方包方法

    将java作为客户端运行(即通过java -jar client.jar方式运行),如有引用第三方jar包,不作特殊处理是无法正确运行,会抛出ClassNotFoundException异常. 如以下 ...

  2. golang mod 包管理使用 引入本地包

    对于多个项目来说,把所有的源码都放在GOPATH下的src目录下非常的不方便.golang给我们提供了一个叫go mod的命令来脱离src目录,方便我们管理go项目. 对于windows用户来说,使用 ...

  3. Mac下 javac java 进行编译和运行含有包路径及引入jar包的类

    近两天因为刚入职,属于熟悉环境的阶段,研究了下算法(第四版),当不使用IDE工具直接使用终端进行javac 编译带有包的类,然后使用java 会出现如下错误提示: 使用谷歌搜索了很久,终于找到解决的办 ...

  4. idea2021 maven External Libraries只有jdk包没有Maven引入的包

    问题描述 从svn上把项目检索下来,正确配置好maven地址后发现很多spring的包无法找到,但maven仓库中又存在此类包.如图 External Libraries中就只有jdk的包不存在mav ...

  5. vue-cli项目引入字体包

    vue-cli项目引入字体包 vue-cli项目引入字体包 vue-cli项目引入字体包 1.先下载字体文件所需的.ttf文件 2.将字体文件引入 自己在src文件定义一个common文件夹,在fon ...

  6. Android Studio导出Jar包并混淆

    在Android Studio中,自带反编译查看class文件,如果没有混淆的话,class文件跟java文件基本没有区别了,为了保护,还是混淆的好. 网上看了不少资料,都是直接下载proguard额 ...

  7. android studio打jar包并添加三方包

    记录android studio打包JAR并且添加第三方jar包. 示例:servicesdk是module需要打包成jar包项目. libs中是三方包,我们需要将这些包添加到jar中. 接下来这里是 ...

  8. Android Studio中架包打包和依赖冲突解决

    一.为什么使用aar打包,而不是jar 随着Android Studio的使用越来越广泛,使用aar打包这种方式也越来越可行实际. jar打包只打源代码,像资源文件不会打包,而aar恰恰是jar打包的 ...

  9. android studio 混淆jar,android studio如何生成混淆代码的jar

    释放双眼,带上耳机,听听看~! 今天,简单讲讲android里如何在生成jar包时,同时对jar包的代码进行混淆,避免别人看到核心代码. 之前,我对领导说我打包生成的SDK,别人使用android s ...

最新文章

  1. [YTU]_1066 ( 输入n个数和输出调整后的n个数)
  2. 我回答的一个粉丝关于模拟SAP事务的问题
  3. SQL Server 数据库文件管理
  4. 【推荐实践】RALM:实时Look-alike算法在微信看一看中的应用(附PPT下载链接)...
  5. 第三篇: UpdatePanel 控件示例
  6. rabbitmq direct 多个消费者_rabbitMQ消息队列入门介绍
  7. jq监听子元素被点击_jQuery怎么实现当前被点击元素的父级下的某个元素显示出来了?...
  8. linux java sdk_java linux sdk1.8
  9. 对称加密、非对称加密、数字签名、数字证书、签名加密
  10. 交换机下接路由器lan还是wan_小白请教,自家网络搭建中,光猫、交换机、无线路由器、NAS布线问题...
  11. 京东商品详情查询接口V1新版接口
  12. windows键被禁用_如何在Windows 10上禁用插入键
  13. css中图片缩小代码,css让图片等比例缩小的代码
  14. 电脑连接公司中国电信爱wifi反复验证无法连接wifi
  15. outlook 日历共享_如何共享您的Outlook日历
  16. 关于数据结构和算法的面试题
  17. WuThreat身份安全云-TVD每日漏洞情报-2022-12-22
  18. 海量数据相关面试问题(二):海量数据热点数据/出现频度/TOP-K问题(TOP-K 分而治之/Hash映射 / Hashmap统计频度 / 堆排序决出排名)
  19. Kubernetes 忘记token解决方案
  20. 疫情致美国10万家餐厅倒闭或长期关闭;温德姆酒店集团上半年大中华区签署38个项目 | 美通企业日报...

热门文章

  1. 优思学院|六西格玛项目立项五大步骤
  2. 精益六西格玛项目辅导咨询:集中辅导和点对点辅导两种方式
  3. 后端思想-如何设计一个操作和管理Excel的业务模块
  4. 计算机vfp考试题库二级,计算机二级《VFP》试题及答案
  5. jQuery系列 第八章 jQuery框架Ajax模块
  6. Android 蓝牙hfp协议连接slc连接rfcomm连接源码分析(2)- HF侧发送和接受数据流程
  7. KD500全自动电容电感测试仪
  8. 趣谈网络协议——ICMP与ping:投石问路的侦察兵(笔记)
  9. Spring boot 线程池之单线程问题
  10. Mock技术_Mock与Moco技术介绍