cordova-android@4.0.0和Android Studio中的gradle配置无法正常工作

kel*_*dar 3 android gradle cordova android-studio

我已经更新了我的Cordova项目,所以它现在使用cordova-android@4.0.0.到目前为止它似乎很好,但我无法解决一些我需要知道的东西,以创建一个APK.

最新版本使用gradle并创建一个Android Studio兼容项目 - 太棒了!此外,您可以使用我认为需要的新Crosswalk WebView,因为我已经看到旧设备上的问题越来越多(通常是Android KitKat之前 - 4.3及更低版本).所以Crosswalk似乎已经克服了我遇到的问题,并且速度略有提高.

无论如何,关于cordova-android@4.0.0/gradle/Android Studio,我遇到了一些问题/困惑:

  1. 我创建的armv7 APK现已从8MB扩展到28MB!www文件夹是相同的 - 有没有机会在生成的APK中复制这些文件夹?如果没有,为什么这么大?

  2. versionCode - 应用程序版本在config.xml中设置 - mine设置为4.9.1.2.当cordova生成versionCode(在AndroidManifest.xml中使用)时 - Cordova有一个奇怪的解析规则,它取代了句点'.' 使用'0' - 但仅限于前三个值.因此,4.9.1.2变为40902.在Cordova的现有版本中,您可以手动编辑AndroidManifest.xml并提供您自己的值 - 而Eclipse构建不会覆盖它.

我有一种感觉Gradle或Android Studio都覆盖了这个 - 我无法锻炼哪个.请有人解释,因为我需要修复此问题,否则版本代码将不会取代我当前的应用程序的实时版本!

  1. Gradle选项 - 如何设置这些!?似乎有两个地方.我可以:

运行以下命令(我将解释点(4)中的额外标志)

cordova build android --gradle --release --versionCode=49120 --gradleArg=PcdvBuildMultipleApks=false

要么

创建一个名为gradle.properties的文件,并在其中放置以下两个属性:

cdvBuildMultipleApks=false
cdvVersionCode=49120
Run Code Online (Sandbox Code Playgroud)

两种方法都解释了:https://cordova.apache.org/docs/en/edge/guide_platforms_android_tools.md.html#Android%20Shell%20Tool%20Guide_building_with_gradle

  1. 这一点与(2)和(3)有关 - 但如果我可以设置这两个选项,我想我可以克服上面解释的两个问题!虽然作为一方不是,默认情况下文档状态cdvBuildMultipleApks设置为false,但它不是 - 在CordovaLib中,如果它是null,则gradle构建文件将其设置为true - 我是否遗漏了明显的东西?

  2. 最后一点和问题!如果我运行cordova build android这个用gradle构建我的项目 - 好!如果我然后打开Android Studio和我的项目,每当我导出一个签名的APK时,它也会运行一些gradle scrips - 两者是否构建相同的进程?我是否需要运行cordova build或Android Studio基本上是否为我运行?

一个很长的线程,但我想与cordova-android@4.0.0和gradle只是一些问题,所以如果你能澄清,那将非常感激.

cod*_*ion 7

  1. Crosswalk包含浏览器的编译版本,这就是APK大小增加12MB的原因.
  2. 由Android Studio计算的versionCode,但可以由Gradle属性覆盖 cdvVersionCode
  3. 从命令行运行build时,可以cdvVersionCode使用以下命令覆盖

    cordova build android -- --gradleArg=-PcdvVersionCode=49120
    
    Run Code Online (Sandbox Code Playgroud)

很可能你在指定--gradleArg -之前Pcdv...就错过了

带有附加文件的第二种方法也是可行的.选择适合你的任何东西.

  1. 要设置多个Gradle选项,请使用

     cordova build android -- --gradleArg=-PcdvVersionCode=49120 --gradleArg=-PcdvBuildMultipleApks=true
    
    Run Code Online (Sandbox Code Playgroud)
  2. cordova build android和Android工作室都使用摇篮打造科尔多瓦项目.它们都可以互换.