导航:首页 > 操作系统 > 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包资源相关的资料

热点内容
军官和程序员哪个更好一点 浏览:244
一个和尚和一个女人的电影叫什么 浏览:510
手机外网服务器地址是多少 浏览:31
单片机外接锂电池供电 浏览:357
文件夹u盘锁 浏览:313
家佳源电影票 浏览:758
人间中不用解压 浏览:704
哪些网站可以免费看会员 浏览:309
python函数提示 浏览:524
cmd跟踪命令 浏览:266
电影下载免费网站推荐 浏览:364
泰国永恒无删减版 浏览:42
我的世界服务器如何更改地皮地形 浏览:505
山西联通app是什么软件 浏览:355
更新电视剧最快的网站 浏览:134
兄弟训诫文严厉 浏览:608
李楠程序员 浏览:288
山推管家app怎么改密码 浏览:682
贷款结束什么时候解压 浏览:142
18命令方块代码 浏览:938