我正在开发Phonegap Build应用程序。对于android文件,当我尝试编译zip文件时,APK文件总是包含3个javascript文件:phonegap.js cordova.js ...然而这三个文件的内容完全相同。如何删除两个冗余的js文件以优化我的应用程序?
答案 0 :(得分:1)
仅供参考,冗余文件存在的原因是为了避免用户混淆according to the devs:
许多用户都包含了错误的文件。允许包含任何 以上避免了很多混乱 - 足以超过 在我们看来,两个额外文件的足迹。
现在PhoneGap 2.8引入了cordova.js
而没有文件名中的版本号,有一个low-priority issue being tracked来删除冗余文件(所以如果你只是等待,它可能会很快自行修复) :
增强功能:PhoneGap 2.8引入了没有版本号的cordova.js。 Build现在可以排除多余的.js文件。
但,如果您不愿意等待他们升级构建过程,您可以按照以下说明自行删除文件:
<强> 1 即可。使用apktool
将APK文件解压缩到本地目录结构中(您需要在计算机上安装Android和Java SDK) - instructions here on how to unpack and remove files:
$ \path\to\AndroidSDK\platform-tools\apktool d myApp.apk
<强> 2 即可。删除phonegap.js
和cordova-x.x.x.js
文件(这些是&gt; 2.8.0中未使用的文件)。
第3 即可。再次使用apktool
重新打包APK:
$ \path\to\AndroidSDK\platform-tools\apktool b myApp myAppUnsigned.apk
<强> 4 即可。使用您的Android证书重新签名APK文件,以便它有效:
使用jarsigner工具签署apk,该工具是Java JDK的一部分。 您还需要用于签名的密钥库和密钥别名 应用程序,以及密码。
jarsigner -verbose -keystore ~/MySigningKey.keystore ~/Desktop/myAppUnsigned.apk myKeyAlias
Enter Passphrase for keystore:
输入密码后,您会看到一大堆“签名:”消息放大;一旦完成,你就有了一个签名的apk文件。
<强> 5 即可。最后一步是zipalign apk文件:
zipalign -v 4 myAppUnsigned.apk myApp.apk
你应该完成。您可以将所有这些步骤自动化为批处理/ shell脚本,以便在构建文件时使用。