Phonegap build cordova.js

时间:2013-07-13 15:19:03

标签: javascript build cordova

我正在开发Phonegap Build应用程序。对于android文件,当我尝试编译zip文件时,APK文件总是包含3个javascript文件:phonegap.js cordova.js ...然而这三个文件的内容完全相同。如何删除两个冗余的js文件以优化我的应用程序?

1 个答案:

答案 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.jscordova-x.x.x.js文件(这些是&gt; 2.8.0中未使用的文件)。

第3 即可。再次使用apktool重新打包APK:

$ \path\to\AndroidSDK\platform-tools\apktool b myApp myAppUnsigned.apk
  • 此时请注意,APK尚未签名,因此无法部署到Play商店或任何不允许来自未签名来源的应用的设备。

<强> 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脚本,以便在构建文件时使用。