導航:首頁 > 操作系統 > androidjar包資源

androidjar包資源

發布時間:2022-07-01 17:30:58

android資源存儲與涉及圖片布局資源如何打成Jar包

我這里
將包含
布局圖片的代碼打包成jar,就是不知道是不你要的。我這個的功能只是將某塊不想讓人看的源碼
打包成jar。

Ⅱ 如何製作Jar包並在android中調用jar包

Android中jar包封裝及調用
在android開發過程中,我們經常會有這種需求,自己開發一個類庫jar包,提供給別人調用。 即把項目A封裝成jar包,供項目B調用,而在項目B中調用項目A的activity的時候問題就出現了:找不到資源文件(異常:ERROR/AndroidRuntime(3341):Caused by: android.content.res.Resources$NotFoundException: Stringresource ID #0x7f060007)。問題是,只能共享src文件夾下的代碼,而不能共享res資源文件,夠郁悶!創建一個Androidproject, 用eclipse的export導出,去掉AndroidManifest.xml,res 什麼的,這樣只共享了代碼,而此代碼中所調用的res資源文件卻不能正常使用,否則會拋出res.Resources$NotFoundException異常。那麼如何解決呢?
1.如果只用共享代碼,而共享的代碼中不涉及到res資源文件的調用的話,直接在Eclipse中導出jar包,在所需要的項目中引用即可。
2.如果共享代碼,而且共享的代碼中涉及到res資源文件的調用,網上通用的方法是把res資源文件放到assets文件夾中,再在src代碼中載入處理,然後再用eclipse導出jar包,引用即可(res資源雖然可以打進jar包,但當其他項目調用jar包時jar包中引用ID 指向的是當前項目的資源,關於如何讓jar包中的資源引用只想jar包中的res文件暫無解決方案。我的問題已解決,解決方案:把圖片資源放入assets包中一並打入jar包,布局就只能用代碼了。jar包中代碼可以成功引用jar包內的assets文件。
另:JNI層不可被打包入jar包,只能同jar包一同提供給第三方並放入工程目錄下的libs包中)。
3.如果共享代碼,而且涉及到res資源文件的調用,而且不想把res資源文件放到assets文件夾中的,直接生成jar包會出現的問題:
1).當在別的項目中引用此jar包時,在項目名上出現小紅叉,並且在console控制台上直接自動提示:Errorgenerating final archive: Found plicate file for APK:res/drawable-hdpi/icon.png,通常的解決方法時,在能編譯通過的此項目中直接去掉提示的資源文件,再生成jar包。
2).把公共的icon等資源文件刪除,生成jar包之後,此時在項目中引用,console控制台上無自動報錯現象。如果jar包中的activity調用了res資源文件夾中的文件,在當前項目中調用jar包中的acticity時,問題就出現了,activity所引用的res資源,如果引用的是Strings.xml文件中的值,則拋出異常ERROR/AndroidRuntime(3341):Caused by: android.content.res.Resources$NotFoundException:Stringresource ID#0x7f060007。如果引用的是layout文件夾中的文件,能找到layout中的xml,例如layout中ee.xml,可以找到R.layout.ee,但是在ee.xml中定義的控制項id卻引用不到,拋出異常ERROR/AndroidRuntime(13703):Caused by:java.lang.NullPointerException。如果在當前項目中調用不涉及jar包中的res的調用,一切OK。
4.如果共享代碼,而且共享的代碼中涉及到res資源文件的調用,如果封裝成jar包,這種方法是達不到要求的(調用jar中封裝的activity,還得保證jar包中activity正常調用jar中所封裝的res資源,上面說了,jar包中的res資源部分調用為空),那麼如何能滿足需求呢?把要生成jar包的項目做一下處理,在jar包項目的properties窗口中選擇android的選項卡的isLibaray,點擊apply按鈕或者ok按鈕(此時,jar包項目再點擊右鍵選擇runas → AndroidApplication就能正常運行了)。在要引用jar包的項目中,右擊項目名稱,打開properties框口,選擇android的選項卡的isLibaray右側的Add按鈕,添加jar包項目。這樣jar包項目中的activity就能正常引用到jar包項目中的res資源了。項目調用jar包項目的activity就正常了。

Ⅲ android開發要哪些jar

am.jar:終端下執行am命令時所需的java庫。源碼目錄:framework/base/cmds/am
android.policy.jar:鎖屏界面需要用到的jar包,該包引用了android.test.runner.jar,源碼目錄:framework/base/policy
android.test.runner.jar:測試應用所需的jar包,該包引用了core.jar,core-junit.ajr以及framework.jar,源碼目錄:framework/base/test-runner
bmgr.jar:adb shell命令下對Android Device所有package備份和恢復的操作時所需的java庫。 不過這個android服務默認是Disabled,而且要backup的應用必須實現BackupAgent,在AndroidManifest.xml的application標簽中加入android:backupAgent屬性。源碼目錄:framework/base/cmds/bmgr
bouncycastle.jar: java三方的密匙庫,網上資料說用來apk簽名、https鏈接之類,官網 :http://www.bouncycastle.org/java.html
com.android.future.usb.accessory.jar:用於管理USB的上層java庫,在系統編譯時hardware層會調用到。源碼目錄:frameworks/base/libs/usb
com.android.location.provider.jar:
com.android.nfc_extras.jar:NFC外部庫。android/nfc/NfcAdapter.java會調用到包中的NfcAdapterExtras.java。源碼目錄:frameworks/base/nfc-extras
core-junit.jar :junit核心庫,在運行*Test.apk時被調用。
core-junitrunner.jar:未知,公司話機上有。
core-tests*.jar:framework下的一系列測試jar包,不做測試時可刪除。
core.jar:核心庫,啟動桌面時首先載入這個。源碼目錄:
ext.jar:android外部三方擴展包,源碼主要是external/nist-sip(java下的sip三方庫)、external/apache-http(apache的java三方庫)、external/tagsoup(符合SAX標準的HTML解析器)。其實這個jar包可以添加外部擴展jar包,只需在framework/base/Android.mk中的ext-dir添加src目錄即可。
framework-res.apk:android系統資源庫。
framework.jar:android的sdk中核心代碼。
ime.jar:ime命令所需jar包,用於查看當前話機輸入法列表、設置輸入法。源碼目錄:framework/base/cmds/ime
input.jar:input命令所需的jar包,用於模擬按鍵輸入。源碼目錄:framework/baes/cmds/input
javax.obex.jar:java藍牙API,用於對象交換協議。源碼目錄:framework/base/obex
monkey.jar:執行monkey命令所需jar包。源碼目錄:framework/base/cmds/monkey
pm.jar:執行pm命令所需的jar包,pm詳情見adb shell pm,源碼目錄:framework/base/cmds/pm
services.jar:話機框架層服務端的編譯後jar包,配合libandroid_servers.so在話機啟動時通過SystemServer以循環閉合管理的方式將各個service添加到ServiceManager中。源碼目錄:framework/base/service
sqlite-jdbc.jar: sqlite的Java DataBase Connextivity jar包。
svc.jar:svc命令所需jar包,可硬用來管理wifi,power和data。源碼目錄:framework/base/cmds/svc

Ⅳ 我自己做的android工程jar包,怎麼找不到資源的id啊

沒錯Jar包裡面是沒有xml布局文件的,因此你會找不到id,如果有布局文件的話就把布局文件拷貝到項目中

Ⅳ 怎麼讓android生成jar包

將Android打包成jar包供人使用,可利用Java的反射技術,獲取相應的id.方便使用者替換自己所需要的。
1.新建Android項目:ActivityLibrary,這就是需要我們打包成jar包的項目:

2.MResource這個類的作用,就是利用J2SE反射技術獲取相應的ID資源。Android SDK也提供了獲取Id資源的方法:getResources().getIdentifier("main_activity", "layout", getPackageName());

看下MResource的代碼:

[java] view plain
package com.example.activitylibrary;

import android.content.Context;

/**
* 根據資源的名字獲取其ID值
* @author howlaa
*/
public class MResource {

//根據名稱獲取ID

Ⅵ android 源碼環境下如何引用第三方jar中的資源。

1、把引用的jar包放到項目的libs文件夾
2、展開libs下jar包的的右鍵菜單, build path -- add to build path
這樣,在生成項目的時候就會自動引用libs下的jar包

Ⅶ Android中如何把一個應用以jar包的形式在另

jar包只能打包class類安卓應用還有其他資源文件,所以不能以jar包的方式打包一個應用。可以用lib或者直接把代碼復制到目標項目中。

Ⅷ android如何將res文件夾下的資源打包到jar中

1.打包時,將資源放在asset文件夾內,通過AssetsManager獲取指定資源:
目標應用和jar中的assets文件夾會合並,所以可以通過獲取該應用的此類文件夾來獲取目標資源
2.使用library項目
此類方法不能混淆代碼,也就是說發布時需要提供library源項目.在引用此lib的目標項目中會看到一個包含已經編譯成class.dex的jar文件,這個文件反編譯以後仍然是只有代碼部分。
3.使用雙重library項目
提供一種雙層library項目的方法,可以混淆代碼,但是xml與圖片資源仍然是暴露的,且發布時需要提供二級引用項目,操作上復雜度較高,不如直接提供jar包和資源
4.直接提供jar包和資源(分開)
依然是反射R文件,資源會被暴露給開發者。

閱讀全文

與androidjar包資源相關的資料

熱點內容
個人裝飾發票在稅務app怎麼開 瀏覽:696
phparray對象 瀏覽:870
app貸款沒錢還怎麼辦 瀏覽:924
直接簇聚類演算法 瀏覽:27
古今數學思想pdf 瀏覽:468
app總是發假消息怎麼投訴 瀏覽:557
安卓怎麼設置關閉應用的數據 瀏覽:909
linuxvi進入命令模式 瀏覽:485
linux寶典pdf 瀏覽:41
php開源進銷存系統 瀏覽:176
戴爾伺服器怎麼插網線 瀏覽:336
php數字補零 瀏覽:845
phpfunction引用 瀏覽:209
怎麼創作論壇app 瀏覽:955
手機令牌java 瀏覽:173
游戲應用加密怎麼卸載 瀏覽:76
毫末app怎麼下載 瀏覽:295
韓國兒童怎麼學韓語app 瀏覽:942
暮色伺服器地址 瀏覽:905
ug12進入草圖快捷命令 瀏覽:362