反编译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那一行
原来是这样子的
  1. %s    <application android:icon="@drawable/icon" android:label="%s">
加一个属性 
android:theme="@android:style/Theme.NoTitleBar" 
修改后是这样子的
  1. %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可以任意取,只要后面用的时候使用相同的值即可-->


最终文件内容是
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <string name="app_name">STActivity</string>
  4.     <string name="appName">中文标题</string>
  5. </resources>

4、修改android应用配置文件

打开a目录下的AndroidManifest.xml文件
找到application和接下来的activety这2行
修改android:label="@string/appName" //这里的appName就是之前strings.xml里面定义的appName
这两行的结果如下
  1. <application android:theme="@*android:style/Theme.NoTitleBar" android:label="@string/appName" android:icon="@drawable/icon">
  2.         <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

posted @ 2015-01-26 10:45  范永强  阅读(276)  评论(0编辑  收藏  举报