zoukankan      html  css  js  c++  java
  • 反编译sencha toucha打包的apk文件,修改应用名称支持中文以及去除应用标题栏

    一、去除安卓应用标题栏

    sencha touch打包android安装包,去掉标题栏titlebar的简单方法
    (有更复杂更好的方法,参看“二、利用反编译修改apk的应用名称为中文”)

    利用sencha cmd命令打包安卓apk安装包之前,找到sencha cmd安装目录下stbuildst-resandroid
    例如,我的目录是D:SenchaCmdinSenchaCmd3.1.2.342stbuildst-resandroid

    打开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: emp
    aapt.exe
    apktool.bat
    apktool.jar

    2、反编译apk文件
    打开dos窗口,进入该目录cd D: emp
    把自己打包好的apk文件copy过来到该目录下,方便操作,例如a.apk

    开始反编译
    apktool d a.apk
    如果没错误的话,会生成一个目录a(目录名取决于你的apk文件的名称)

    3、定义应用名称字符串

    打开a目录下resvaluesstrings.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 esourcesicons下,把所有图标copy到assets下

    6、重新编译打包APK文件
    以上都完成之后,开始编译apk文件
    依然在命令行窗口,cd D: emp
    apktool b .a
    如果没有错误的话,在a目录下会生成一个dist文件家,里面就是最后编译好的apk安装包a.apk

    7、签名
    最后还需要给安装包签名,简单的一个例子
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 自己的key文件 D: empadista.apk key文件的别名

    至于其中的key文件和别名,网上已经很多教程了,包括android官网developer.android.com、sencha的官网都有教授


    转载自:http://blog.chinaunix.net/uid-20078486-id-3893334.html

  • 相关阅读:
    有关于* daemon not running.starting it now on port 5037 *ADB
    在android中调用jni,出现ReferenceTable overflow (max=1024)
    15款优秀移动APP产品原型设计工具
    基于Jenkins+git+gradle的android持续集成,jenkinsgradle
    java代码分析及分析工具
    Android客户端SQLite数据库升级方案
    基于Android SQLite的升级
    Android唯一识别码
    Android中获取设备信息的方法
    Android Ubuntu 安装问题FAQ
  • 原文地址:https://www.cnblogs.com/fyq891014/p/5057971.html
Copyright © 2011-2022 走看看