参考文档:1:jar包中包含资源,资源放在assets文件夹中http://my.oschina.net/u/614511/blog/76957
2:jar包中不包含资源,资源放在主工程的res中 http://my.oschina.net/handsomeban/blog/150220
3:jar包中不包含资源,新建一个目录存放资源 http://blog.csdn.net/wletv/article/details/8547797
3方案获取资源方法:http://riddickbryant.iteye.com/blog/436693
下面两篇说出了原理,不方便使用。
http://blog.csdn.net/p106786860/article/details/12152011
http://blog.csdn.net/xiaanming/article/details/9257853
例一:
在Android中可以将资源文件放在assets目录(可以有子目录)中和程序一起打包为jar,在其他项目引用时可以只引用jar包,不需要导入资源文件,在编译应用时会将jar包assets目录中的文件跟应用中的assets目录中的文件合并,如果jar中的文件和应用中的文件重名在编译的时候会报错“Error generating final archive: Found duplicate file for APK”提示有重名文件。
然后就可以应用中通过如下方法获取资源文件
1 |
Drawable.createFromStream(am.open( "login_btn_src_pressed.png" ), "login_btn_src_pressed" ) |
其中的am对象为AssetManager实例,通过Activity.getAssets()获得,用来访问assets目录资源
android中各个平台提供的SDK的jar包就是这样弄的。
第二中方案就是把代码导成jar包,然后将资源相应的添加到主工程的目录下就可以了。
例三:新建一个工程,在工程中scr文件夹下创建com/lj/jartest/JarTest.java
在src目录下新建目录resource,在resource目录下存放图片ic_launcher.png
不可在项目根目录下新建文件夹存放资源,即跟src同一层级的文件夹,这样会找不到。
资源也可以按android的存放方法存放,即放在res目录下对应的文件夹下。
在JarTest.java中创建方法:
public Bitmap getBimtap(Context context) { InputStream is = getClass().getClassLoader().getResourceAsStream( "resource/ic_launcher.png"); return BitmapFactory.decodeStream(is); }
将工程src文件夹导成jar包,将jar包加入主工程,主工程可以通过getBitmap(Context context)方法获取到Bitmap对象. 布局资源可以用java代码实现,或许可以研究一下android是如何解析布局文件的,也许可以有方法。
相关推荐
Android JAR 包混淆详解 Android JAR 包混淆是一种保护 Java 代码的方式,它可以将 JAR 包中的代码混淆,使得攻击者无法轻易地反编译和盗用代码。混淆过程中,需要使用 ProGuard 工具,该工具可以将 JAR 包中的代码...
本资源包含的是已经编译好的Spatialite for Android的jar包和so库文件,用于在Android应用中集成Spatialite功能。 1. **Spatialite核心概念** - **SQLite**:SQLite是一个轻量级的关系型数据库,广泛应用于移动...
"cocos2d-android jar包全套.zip"这个压缩包包含了在Android上使用Cocos2d开发游戏所需的所有核心库和依赖。 首先,让我们详细了解一下Cocos2d的主要组件: 1. **Cocos2d Engine**:这是Cocos2d的核心,提供了一...
《ArcGIS for Android Jar包详解》 ArcGIS for Android是一款由Esri公司开发的专业地理信息系统(GIS)软件开发工具,专为Android平台设计,用于构建具有地图和地理信息服务的应用程序。ArcGIS的核心功能是处理、...
在这个"Android jar包"中,很可能是包含了一个或多个Java库,这些库使得Android开发者可以编写代码来连接并操作Win10系统的SMB共享。 在Android上实现SMB协议访问,一般需要以下步骤: 1. **引入SMB库**:压缩包中...
高德地图Android jar包
这个“Android RSA加密jar包”就是专为Android平台设计的,用于实现RSA加密和解密功能的Java库。 RSA加密的基本原理是基于两个大素数的乘积,这两个大素数只有乘积关系,很难从结果反推出原始素数。加密过程使用...
这个资源包含的"spring-android-1.0.0.RELEASE"是Spring-android的一个特定版本,其中可能包括了核心库的jar包以及相关的文档资料。 在Spring-android中,主要知识点有: 1. **依赖注入(Dependency Injection,DI...
【Qt on Android调用Jar包】是一个重要的技术实践,它涉及到跨平台开发和Java与C++的交互。在Android平台上,Qt提供了一种强大的方式来创建原生应用程序,但有时我们可能需要集成已经存在的Java库(以.jar文件形式)...
android开发所需Jar包,是开发手机时的必备开发包
使用android studio生成jar包,并且使用映射来完美调用资源文件。包含两个工程,一个如何生成jar包,一个是如何使用jar包,调用资源文件。使用详情可以关注我的blog,http://blog.csdn.net/jujishou521
Unity加Android jar包打包成的安卓项目,CustomLib为jar包原项目,UnityAddAndroid为Unity项目,UnityAndroidPackage为UnityAddAndroid打包成的安卓项目,为了页面交互加入了mylibrary作为安卓原生….zip项目工程...
通过导入这些jar包,开发者可以在Android Studio项目中调用对应的API,实现地图的创建、加载、交互等功能。 ArcGIS for Android的API文档是开发者的重要参考资料,它详尽地介绍了每个类、方法、接口和枚举的使用...
jar包有android-support-design;android-support-v4; android-support-v7-appcompat;android-ngn-stack_fat;
当你需要查看jar包内的源代码,特别是没有提供源码的情况下,就需要借助“jar包反编译工具”。标题提到的“jar包反编译工具看jar包源码必备”揭示了这个主题的关键——如何利用反编译工具来查看和理解jar包中的代码...
描述中提到的"jar包为自己编译",意味着开发者已经手动编译了与Spatialite相关的Java库(jsqlite.jar),这个库通常包含了访问和操作Spatialite数据库所需的API。开发者可能这样做是为了确保与特定Android环境的兼容...
在Android开发中,经常需要使用到外部的jar包来扩展应用的功能或提升开发效率。"android常用jar包"这个主题涵盖了几个重要的库,包括处理JSON数据的库、XML解析库以及一个UI组件库。让我们详细了解一下这些jar包及其...