反编译sencha toucha打包的apk文件,修改应用名称支持中文以及去除应用标题栏
一、去除安卓应用标题栏
sencha touch打包android安装包,去掉标题栏titlebar的简单方法
(有更复杂更好的方法,参看“二、利用反编译修改apk的应用名称为中文”)
利用sencha cmd命令打包安卓apk安装包之前,找到sencha cmd安装目录下stbuild\st-res\android
例如,我的目录是D:\SenchaCmd\bin\Sencha\Cmd\3.1.2.342\stbuild\st-res\android
打开AndroidManifest.xml文件,找到application那一行
原来是这样子的
- %s <application android:icon="@drawable/icon" android:label="%s">
加一个属性
android:theme="@android:style/Theme.NoTitleBar"
修改后是这样子的
- %s <application android:theme="@android:style/Theme.NoTitleBar" android:icon="@drawable/icon" android:label="%s">
再打包就没有标题栏了
二、利用反编译修改apk的应用名称为中文
1、android-apktool
android-apktool反编译android apk的好工具
网址: https://code.google.com/p/android-apktool/
下载以下两个文件
apktool1.5.2.tar.bz2
apktool-install-windows-r05-ibot.tar.bz2
解压缩到某个目录下D:\temp
aapt.exe
apktool.bat
apktool.jar
2、反编译apk文件
打开dos窗口,进入该目录cd D:\temp
把自己打包好的apk文件copy过来到该目录下,方便操作,例如a.apk
开始反编译
apktool d a.apk
如果没错误的话,会生成一个目录a(目录名取决于你的apk文件的名称)
3、定义应用名称字符串
打开a目录下res\values\strings.xml 文件
在<string name="app_name">STActivity</string>下增加一行,定义另一个字符串
<string name="appName">中文标题</string>
<!--其中appName可以任意取,只要后面用的时候使用相同的值即可-->
最终文件内容是
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="app_name">STActivity</string>
- <string name="appName">中文标题</string>
- </resources>
4、修改android应用配置文件
打开a目录下的AndroidManifest.xml文件
找到application和接下来的activety这2行
修改android:label="@string/appName" //这里的appName就是之前strings.xml里面定义的appName
这两行的结果如下
- <application android:theme="@*android:style/Theme.NoTitleBar" android:label="@string/appName" android:icon="@drawable/icon">
- <activity android:label="@string/appName" android:name=".STActivity">
说明:
所以我们也可以在这一步来去除android应用的标题栏
就是这一个属性的作用 android:theme="@*android:style/Theme.NoTitleBar"
5、图标文件更正
①
注意:res目录下面这些目录
drawable-hdpi
drawable-ldpi
drawable-mdpi
查看一下里面的icon.png的文件大小,如果大小为0的话,最后编译会报错
自己编辑一下应用的图标放进来,大小分别是72*72、36*36、48*48
②
再注意,如果不是使用sencha toucha的默认图标,自己修改过图标的话
查看一下assets目录下的那些Icon*.png的图标是不是还是默认的图标
如果是的话,到assets\resources\icons下,把所有图标copy到assets下
6、重新编译打包APK文件
以上都完成之后,开始编译apk文件
依然在命令行窗口,cd D:\temp
apktool b .\a
如果没有错误的话,在a目录下会生成一个dist文件家,里面就是最后编译好的apk安装包a.apk
7、签名
最后还需要给安装包签名,简单的一个例子
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 自己的key文件 D:\temp\a\dist\a.apk key文件的别名
至于其中的key文件和别名,网上已经很多教程了,包括android官网developer.android.com、sencha的官网都有教授
转载自:http://blog.chinaunix.net/uid-20078486-id-3893334.html
反编译sencha toucha打包的apk文件,修改应用名称支持中文以及去除应用标题栏的更多相关文章
- Android开发:APK的反编译(获取代码和资源文件)
一.反编译工具: 1.APKTool: APKTool是由GOOGLE提供的APK编译工具,能够完成反编译及回编译apk的工作.同时,它也有着安装反编译系统apk所需要的framework-res框架 ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- 使用ant自动编译、打包生成apk文件
上次使用命令行生成apk文件<Android 命令行编译.打包生成apk文件>,学习命令行生成的目的是为了编写ant打下基础. 一. ant环境 下载ant包,配置环境变量 二.ant编译 ...
- Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...
- Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式
from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...
- ApkTool反编译和重新打包
有时会需要反编译APK,各人有各人的原因,你都懂的…… 准备工作: 下载APKTool,通过下面这个连接进行下载,https://code.google.com/p/android-apktool/d ...
- apktool的下载,安装,反编译和重新打包
一.环境要求 安装java 1.8 以上 命令行运行 java -version 返回版本大于1.8 如果没有,请安装java 1.8 二.下载与安装 下载apktool_x.x.x.jar到本地 官 ...
- Android反编译(未混淆的apk)
Android反编译(未混淆的apk) 工具 dex2jar 下载地址:我的CSDN 或者 官网 jd-gui 下载地址:我的CSDN 或者 官网 反编译步骤 1. 将APK解压缩,获取classes ...
随机推荐
- Android小玩意儿-- 从头开发一个正经的MusicPlayer(三)
MusicService已经能够接收广播,通过广播接收的内容来做出相应的MediaPlayer对象的处理,包括播放,暂停,停止等,并当MediaPlayer对象的生命周期发生变化的时候,同样通过发送广 ...
- 字符串逆序-c语言
给定一个含有n个元素的字符串,实现逆序. 这是个很基础的问题,实现方式也是很常见的c语言思路.虽然简单,但是仍然记录下来. [期望] 比如char str[] = "abcdefg" ...
- java将一个List赋值给另一个List的4种方法
编辑 删除 声明:ArrayList a, 仅仅只是声明了一个list变量,其未来作用相当于C++中的引用变量,亦或者相当于一个对象块的索引,但并未为其分配具体的完整的对象所需要的内存空间,其所分配的 ...
- 51nod 1096 距离之和最小(水题日常)
基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 X轴上有N个点,求X轴上一点使它到这N个点的距离之和最小,输出这个最小的距离之和. Input 第1行:点的数量 ...
- leetcode_919. Complete Binary Tree Inserter_完全二叉树插入
https://leetcode.com/problems/complete-binary-tree-inserter/ 给出树节点的定义和完全二叉树插入器类的定义,为这个类补全功能.完全二叉树的定义 ...
- EasyX库进行图片绘制函数
引用函数:loadimage参数: // 从图片文件获取图像(bmp/jpg/gif/emf/wmf/ico)void loadimage( IMAGE* pDstImg, // 保存图像的 IMAG ...
- ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath
问题: ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the ...
- 关于Error:Maven Resources Compiler: Maven project configuration required for module '项目名' isn't available. Compilation of Maven projects is supported only&
总是出现Error:Maven Resources Compiler: Maven project configuration required for module '项目名' isn't avai ...
- 题解 洛谷P3622/BZOJ1151【[APIO2007]动物园】
这一道题,我也是搞了很久才搞懂的(也就两个多小时). 感谢Rayment大佬的题解! 我们进入正题. 对于一个笼子里的动物,我们可以选择撤走或不撤走,可以用0和1来表示,很容易就想到二进制,想到状压d ...
- mysql5.7配置
my3306.cnf [client] port = 3306 #端口socket = /data/mysql3306/mysql3306.sock #mysql以socket方式运行的soc ...