一、去除安卓应用标题栏



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

反编译sencha toucha打包的apk文件,修改应用名称支持中文以及去除应用标题栏的更多相关文章

  1. Android开发:APK的反编译(获取代码和资源文件)

    一.反编译工具: 1.APKTool: APKTool是由GOOGLE提供的APK编译工具,能够完成反编译及回编译apk的工作.同时,它也有着安装反编译系统apk所需要的framework-res框架 ...

  2. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  3. 使用ant自动编译、打包生成apk文件

    上次使用命令行生成apk文件<Android 命令行编译.打包生成apk文件>,学习命令行生成的目的是为了编写ant打下基础. 一. ant环境 下载ant包,配置环境变量 二.ant编译 ...

  4. Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式

      相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...

  5. Android 自动编译、打包生成apk文件 4 - 多渠道批量打包

    相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...

  6. Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式

    from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...

  7. ApkTool反编译和重新打包

    有时会需要反编译APK,各人有各人的原因,你都懂的…… 准备工作: 下载APKTool,通过下面这个连接进行下载,https://code.google.com/p/android-apktool/d ...

  8. apktool的下载,安装,反编译和重新打包

    一.环境要求 安装java 1.8 以上 命令行运行 java -version 返回版本大于1.8 如果没有,请安装java 1.8 二.下载与安装 下载apktool_x.x.x.jar到本地 官 ...

  9. Android反编译(未混淆的apk)

    Android反编译(未混淆的apk) 工具 dex2jar 下载地址:我的CSDN 或者 官网 jd-gui 下载地址:我的CSDN 或者 官网 反编译步骤 1. 将APK解压缩,获取classes ...

随机推荐

  1. HttpMessageNotWritableException异常解决办法

    昨天做多对多的时遇到这个错误,网上找了一大堆,都没有解决掉,这个异常是说要解析的对象解析不了,就有可能该对象为null了,为了测试,我把数据库的数据都填上去    结果还是报错 看来是时候debug下 ...

  2. Java并发——ThreadPoolExecutor线程池解析及Executor创建线程常见四种方式

    前言: 在刚学Java并发的时候基本上第一个demo都会写new Thread来创建线程.但是随着学的深入之后发现基本上都是使用线程池来直接获取线程.那么为什么会有这样的情况发生呢? new Thre ...

  3. 前端的百度地图的api的使用

    1.打开百度地图官方api网页 http://lbsyun.baidu.com/ 2.点击开发文档 3.选择对应的api 4.点击DEMO详情 5.得到源码复制到你的代码中 <!DOCTYPE ...

  4. c++正则表达式模板库GRETA的使用

    GRETA是微软研究院的一位前员工开发并开源的一个C++正则表达式库,兼容perl正则语法 官方介绍:“A fast, flexible, perl-compliant regular express ...

  5. PE基础1

    PE文件概述 文件格式 .png ..mp4..gif..dll等等,这些文件都具有不同格式 不能随意修改这些文件,否则将无法打开 PE文件(可执行文件) 学习PE文件目标 掌握PE文件就掌握wino ...

  6. DROP FUNCTION - 删除一个函数

    SYNOPSIS DROP FUNCTION name ( [ type [, ...] ] ) [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP FUNCTION ...

  7. iview upload 上传图片 不传服务器 转 base64

    开始的时候 找不到this了,后来想起来要用 ES6的箭头函数 就有this了 reader.onload = e => { // 读取到的图片base64 数据编码 将此编码字符串传给后台即可 ...

  8. vscode vue template 下 style 的样式自动提示 #bug 这个搞完vue语法esLint就又不好使了,ERR

    网上都是 "*.vue": "vue",改成"*.vue": "html" 就ok了   "files.ass ...

  9. nodejs 安装 淘宝镜像

    临时使用 npm --registry https://registry.npm.taobao.org install express 2.持久使用 npm config set registry h ...

  10. 两个div之间的蜜汁间隙

    两个div左右相邻,想让他们紧挨在一起 加了margin:0:padding:0: 不知道为什么还是会有间隙. 然后在两个div的父元素加了:font-size:0: 就终于挨在一起惹.