Android 将Activity殴打jar包 对于由第三方使用 解决XML 图片 文本资源并不难过进入jar包装问题!
做项目需要打包成jar文件供第三方使用项目要求(将图片
文字资源写到到jar包中,第三方调用时,仅须要在AndroidManifest.xml配置下对应的Activity通过StartActivity方式拉起Activity):在网上找了好久。并依靠查看Android源代码终于攻克了问题
一:须要明确知识:
1.APK中的Res文件夹无法通过Eclipse的Export方式导入到jar包中
而Assert能够
2.Android程序在编译成APK时须要通过aapt将Res文件夹下的资源生成相应的Id
而Assert文件夹下的资源不会在R文件里生成Id
对XML资源学习:
1.AssetManager中提供XmlResourceParseropenXmlResourceParser(String
fileName)这种方法
能够讲编译后的XML文件生成一个资源遍历对象
通过该对象能够获取一个整个布局的View树
2.通过 setContentView(view)能够设置在Oncrea方法中设置Activity的布局
对图片资源学习:
1.将非.9图片放入到Assert文件夹下
通过获取文件资源去生成Drawable对象 Button等其它空间的点击效果能够通过StateListDrawable来实现
2.对.9图片进行处理
让须要先编译
去除掉上下左右的黑色的拉伸区域
显示区域的标记
用法与非.9图一致
对字符学习
1将字符写在Java文件里
,写到一个静态的Map中,通过kay_value能够再全局都获取到
二:详细操作过程:
1.先使用普通的方式
在XML文件里设置你的布局
并在执行Activity查看界面效果
2.删除你在XML文件里设置的图片,字体资源的属性。由于Res文件夹无法导入到Jar包中,无法在R文件里生成相应资源的Id,所以通过android:src="@drawable/uac_logo"此类方式设置的图片资源均不会被找到。在第三方获取编译后的XMLlayou文件时会抛出资源没有被照到的异常
2.取出bin文件夹下已经编译好的APK文件,解压缩
取出编译好的XML文件
图片资源
放入到Assert文件夹下
3.在Activity的onCreat方法中使用XmlResourceParseropenXmlResourceParser(String
fileName)方式获取Layout文件
通过setContentView(view)设置为整个Activity的布局
使用当中的控件(ButtonTextView等)时
仍能够通过R.id.XX的方式获取
此时通过解析XML文件,系统以及获取到你这个XMl中各个控件Id(此时的Id是否会与第三方资源Id冲突
这个问题我认为不会发生,毕竟findViewById()给出的定义是寻找该XML下的控件的Id
有哪位对这个毕竟清楚
请教下?)
4.获取到控件之后,能够通过setTextsetBackground setImageDrawable等方法设置
文字
背景
展望资源。
版权声明:本文博客原创文章。博客,未经同意,不得转载。
Android 将Activity殴打jar包 对于由第三方使用 解决XML 图片 文本资源并不难过进入jar包装问题!的更多相关文章
- [转]myeclipse 生成JAR包并引入第三方包
myeclipse 生成JAR包并引入第三方包 我用的是myeclipse8.0 首先用myeclipse生成JAR 一.生成JAR包 1.点选项目右键—>Export 2.Java—>J ...
- Ant打包可运行的Jar包(加入第三方jar包)
本章介绍使用ant打包可运行的Jar包. 打包jar包最大的问题在于如何加入第三方jar包使得jar文件可以直接运行.以下用一个实例程序进行说明. 程序结构: 关键代码: package com.al ...
- maven上传jar包到nexus私服后的存放路径 以及 使用IDEA上传jar包的步骤
maven上传jar包到nexus私服的方法,网上大神详解很多,那么上传后的jar包存放到哪里了呢? 在下使用nexus3.2.1版本,在本地搭建了私服,使用maven上传jar包.最后结果如下: 点 ...
- maven依赖jar包时版本冲突的解决
https://blog.csdn.net/sinat_39789638/article/details/78005945 共有四种解决方式: 1.第一声明优先原则: 在pom.xml配置文件中,如果 ...
- External Libraries中没有Maven的jar包的原因(已解决)
**深坑!** ## External Libraries中没有Maven的jar包的原因(已解决) 2021年3月1日 --- 搭建一个新项目 IDEA 从 Git 上拉 拉去Maven项目然后 m ...
- com.android.dex.DexException: Multiple dex files define(jar包重复引用) 错误解决
前段时间开始转入Android studio,不料果真使用时候遇到些错误,在此记下! 出现这个错误往往是在libs目录下有个jar包,然后在gradle文件中又引用了,即: 共同引用了. 解决方法: ...
- [Android] Android工程以jar包形式向第三方应用提供服务
参考: http://www.cnblogs.com/0616--ataozhijia/p/4094952.html 以API 19为例: 系统默认提供的 android.jar整体大小为: 21.8 ...
- AndroidStudio工程文件导入Jar包和So第三方库
AndroidStudio 导入Jar包和第三方So库 在android开发中,需要导入许多第三方的jar包和so库来支持,包括像许多第三方的支持平台--友盟,环信.融云.极光推送.微博.腾讯等第三方 ...
- 带有res资源文件的项目 需要导成jar包 供别人使用的解决方法
比如说自己的成品项目,名字是MyObject,需要导出成jar包,让别人的项目调用,但是自己的项目还包含有图片.layout布局.libs里面的依赖包等等: 步骤: 1.MyObject项目需要“is ...
随机推荐
- 如何使用Gmail的别名功能?
Gmail真的是一个很好的邮箱,一直是我的最爱!它有一个很独特的功能-别名,用这个功能,我们就可以把一个 邮箱当成很多个邮箱来使用了! 1.Gmail 不提供传统别名 ,但是你可以收到发送到 your ...
- 一些关于Console的API函数
SetConsoleCtrlHandlerGenerateConsoleCtrlEventSetConsoleMode ReadConsole WriteConsole SetConsoleCP Se ...
- Codeforces Round #256 (Div. 2)总结
这次CF状态之悲剧,比赛就别提了.后来应该好好总结. A题:某个细节没考虑到,导致T了 代码: #include<cstdio> #include<cstring> #incl ...
- 从头学起android<AudioManager 声音编辑器.五十.>
我们用android经常使用的时候,手机的声音增大和缩小操作.在设定场景模式,它往往使用静音和振动运行,这通常是AudioManager来控制的. 今天我们就来看一下AudioManager 的使用. ...
- 轻量级工具网站SimpleTools
[解释]本来这篇文章是在前天发出来的,可是当时是刚申请的域名,现在都要域名实名认证,导致我发的项目网址打不开,惹来了很多博友的吐槽,在此说声抱歉,今天一大早就把实名认证提交了,现在网站已经可以正常访问 ...
- 003.android资源文件剖析(Resources)
android的资源文件使用的重要性,不言而喻.让我们从潜到深逐渐来了解吧. 一:android的基本资源: 1.字符串资源 android的资源文件保存在:res\values\ 2.布局资源 an ...
- java.lang.ClassCastException: sun.proxy.$Proxy11 cannot be cast to分析
报这个错,只有一个原因,就是你转化的类型不对. 如果你的类是一个单实体类,也就是没有继承或是接口别的类. public class HjmServiceImpl {} 那么这样写就可以: HjmSer ...
- RSA密码系统 基于大数环境编写 密码学课程设计
RSA密码系统的实现 1.问题描述 RSA密码系统可具体描述为:取两个大素数p和q,令n=pq,N=(p-1)(q-1),随机选择整数d,满足gcd(d,N)=1,ed=1 modN. 公开密钥:k1 ...
- 在 Ubuntu 12.04 上通过安装源安装 Open vSwitch (OVS)
先把Ubuntu 12.04更新一下 sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 删除 Ebtables包 s ...
- Codeforces Round #350 (Div. 2)解题报告
codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...