当前位置:首页 » 存储配置 » jar包导入后怎么配置

jar包导入后怎么配置

发布时间: 2024-01-10 16:36:33

A. android怎么在源码导入jar包

在Android源码编译成功的基础上重新编译带自己API的android.jar需要进行以下几步操作:

1、添加自己源代码,在Android源码frameworks/base目录下新建一个文件夹保存代码,如tv,以包的形式命名添加的文件所在的路径,如/tv/java/android/tv,添加的java文件开头定义的包即是编译成功的class文件所在的包。
2、修改makefile文件
2.1 修改build/core/pathmap.mk文件
在FRAMEWORKS_ BASE_ SUBDIRS变量后添加tv\,代码如下(makefile文件中的语句以Tab键空格开头)
FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \ core \ graphics \ location \ media \ opengl \ sax \ telephony \ wifi \ vpn \ keystore \ tv \ )
2.2 修改frameworks/base/Android.mk 文件
在packages_to_ document变量后添加自己源代码的包名称,如android/tv,结果如下(makefile文件中的语句以Tab键空格开头)
packages_to_document := \
android \
javax/microedition/khronos android/tv 3 在ubuntu命令行终端使用如下命令进行编译:
make clean
make update-api
make PRODUCT-sdk-sdk
最后一行也可以用如下两个命令代替: make –j4 make sdk 4 编译结果
4.1 android.jar文件所在的目录为
/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar并在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_interme diates/src目录下重新以package形式组织所有生成到android.jar中的源代码。 4.2 SDK所在目录为
out/host/linux-x86/sdk/,生成的sdk文件目录和压缩包为: android-sdk_eng.xxx_linux-x86
android-sdk_eng.xxx_linux-x86.zip(xxx为自己android源码所在的文件名)

B. Android Studio 3.5导入AOSP编译的classes.jar

一、适用场景

    我们在写应用时可能会需要调用系统隐藏的API,这些API是我们无法直接访问的,报如下错误:

 此时,我们需要将系统AOSP的out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar导入到Android Studio中,使app能够访问这些接口。

二、实现步骤

Step1 . 在app目录下建立libs文件夹,并将classes.jar包放入该路径

Step2 .在app目录上右键【Open Mole Settings】,点击左侧【Dependencies】,选择app,点击【+】选择【2 Jar Dependency】,添加

选择我们的libs/classes.jar,点击【OK】

Step3 .在Mole的build.gradle中,dependencies自动增加依赖配置,注释掉下面一行

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

并将implementation files('libs/classes.jar')改为

compileOnly files('libs/classes.jar')

最终如下图所示

Step4 .修改Project的build.gradle,在allProjects中增加如下语句

    gradle.projectsEvaluated {

        tasks.withType(JavaCompile) {

            options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\classes.jar')

        }

    }

Step5 .修改jar包优先级,在Moels的app.iml文件中找到我们的classes.jar包所在行,

<orderEntry type="library" name="Gradle: __local_aars__:/Users/mrwong/AndroidStudioProjects/uart_daemon/app/libs/classes.jar:unspecified@jar" level="project" />

将其移动到

<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />

这一行之上,最终如下图所示:

至此,app可以优先访问我们自己的jar包 。

C. 修改jar包中的配置文件

原文地址: 修改jar包中的配置文件

现有jar包 base-web.jar

查找jar包里面的文件:

jar ftv ks-web-1.0.3.jar | grep pom.xml

要修改jar包中配置文件可以用下面三种尘碧芦方式:

方式一 通过vim命令直接修改保存jar。超方便。

通过vim命令直接编辑jar

vim xxx.jar 该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入配置文件内进行编辑,:wq保存。

方式二 通过jar命令替换jar包中的文件(也可新增)

1.列出jar包中的文件清单

jar  tf  base-web.jar

2.提取出内部jar包的指定文件

jar  xf  base-web.jar  `jar  ft  base-web.jar | grep  t_ivr_data_bj.json`

3.然后可以修改文件

vim BOOT-INF/classes/realtime/t_ivr_data_bj.json

4.更新配置文件到内部jar包.(存在覆盖,不存在就新增)

jar uf  base-web.jar  BOOT-INF/classes/realtime/t_ivr_data_bj.json      

4.1更新内部jar包到jar文件

jar  uf  base-web.jar  内部jar包.jar     

5.可以查看验证是否已经慧清更改

vim base-web.jar

方式三 解压jar包,修改后重新打包jar

1.解压

unzip base-web.jar

2.移除jar包,最好派带备份

rm base-web.jar

3.重新打包

jar -cfM0 base-web.jar *

或者

jar -cvfm0 base-web.jar ./META-INF/MANIFEST.MF ./

4.运行

java -jar base-web.jar

jar命令参数:

-c 创建新的存档

-f 指定存档文件名

-M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF

-0 不进行压缩,如果压缩会有问题

-m 指定清单文件

-t 列出归档目录

-x 从档案中提取指定的 (或所有) 文件 

-u 更新现有的归档文件 

-v 在标准输出中生成详细输出 

D. java如何导入包

java要导入jar包可以参考以下操作方法:

方法一:

1、首先对着myeclipse空白处,右键->Build Path->Configure Build Path...

热点内容
称重系统界面如何找配置项 发布:2024-11-28 15:28:29 浏览:569
vue能被反编译嘛 发布:2024-11-28 15:23:59 浏览:79
gl和中配哪个配置好 发布:2024-11-28 15:20:01 浏览:235
linuxandroid嵌入式 发布:2024-11-28 15:18:58 浏览:200
服务密码是啥有什么用 发布:2024-11-28 15:08:48 浏览:164
编程王国 发布:2024-11-28 15:05:12 浏览:977
ftp服务器对什么硬件要求高 发布:2024-11-28 14:45:10 浏览:650
sql服务管理器下载 发布:2024-11-28 14:45:02 浏览:772
windows第三方ftp搭建 发布:2024-11-28 14:43:53 浏览:199
asp文件夹上传 发布:2024-11-28 14:41:13 浏览:214