當前位置:首頁 » 存儲配置 » 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...

熱點內容
sql數據結構 發布:2024-11-28 16:32:13 瀏覽:713
scratch編程自學 發布:2024-11-28 16:09:15 瀏覽:825
蘇州cnc編程學徒招聘 發布:2024-11-28 16:07:44 瀏覽:610
linux中怎麼搭建http伺服器配置 發布:2024-11-28 16:04:17 瀏覽:291
緩存expires 發布:2024-11-28 16:02:27 瀏覽:383
圖像的jpeg壓縮matlab 發布:2024-11-28 16:02:05 瀏覽:940
androidcompilewith 發布:2024-11-28 16:00:19 瀏覽:435
訪問跳轉 發布:2024-11-28 15:54:44 瀏覽:698
演算法對算 發布:2024-11-28 15:41:38 瀏覽:4
稱重系統界面如何找配置項 發布:2024-11-28 15:28:29 瀏覽:570