【问题标题】:Phonegap build cordova.jsPhonegap 构建 cordova.js
【发布时间】:2013-07-13 15:19:02
【问题描述】:

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

【问题讨论】:

    标签: javascript build cordova


    【解决方案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 文件(这些是> 2.8.0 中未使用的文件)。

    3。重新打包 APK,再次使用 apktool:

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

    4。使用您的 android 证书重新签署 APK 文件,使其有效:

    使用作为 Java JDK 一部分的 jarsigner 工具对 apk 进行签名。 您还需要用于签署 应用程序,以及密码。

    jarsigner -verbose -keystore ~/MySigningKey.keystore ~/Desktop/myAppUnsigned.apk myKeyAlias
    
    Enter Passphrase for keystore:
    

    输入密码后,您会看到一大堆“签名:”消息放大;全部完成后,您就有了一个签名的 apk 文件。

    5。最后一步是对apk文件进行zipalign:

    zipalign -v 4 myAppUnsigned.apk myApp.apk
    

    你应该完成了。您可以将所有这些步骤自动化到批处理/shell 脚本中,以便在构建文件时使用。

    【讨论】:

    • 看来即使我删除了Cordova.js,文件大小仍然很大。为了不打扰包,我可以删除任何其他文件吗?
    • @SamuelCheung - 您可以尝试使用相同的过程删除启动画面图像文件、您不需要的任何图标以及您未在代码中使用的任何本机插件。但这完全是一个不同的问题 - 如果我的答案中的步骤适用于如何删除文件,请将其标记为答案,以便下一个人知道它有效。
    • 我是 phonegap 的新手!您在 index.html..phonegap.js 或 cordova.js 中包含哪一个
    • @MuhammadUmer phonegap.js
    • 你在哪里包含它 (root)www\config.xml 或 www\xml\config.xml...抱歉打扰我知道 root 效果最好但为什么有些例子告诉你不这样做.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 2014-08-21
    • 2014-05-22
    • 1970-01-01
    相关资源
    最近更新 更多