起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3018|回复: 1

[分享] Wex5 工程编译解析【不断更新中...】

[复制链接]

28

主题

52

帖子

226

积分

中级会员

Rank: 3Rank: 3

积分
226
QQ
发表于 2020-1-28 21:41:34 | 显示全部楼层 |阅读模式
本帖最后由 liliths 于 2020-1-29 01:07 编辑

本人使用Wex5大约3~4年(实际上正式使用也就1年左右的时间),在使用过程中有一些相关心得会写入该贴中,如果有不正确的地方,希望各位大佬及时指正。


工程编译目录分析篇
Wex5在生成Android应用时,采用的模式是工程模板+用户配置的方式。编译过程中将用户配置的数据写入工程模板中,然后使用新的工程模板生成出来一个Apk文件。
Wex5的工程模板在model\Native\templates目录下,其结构如下:
templates├─ advanced
              │    ├─ config.xml
              │    ├─ hooks        应该是和IOS编译相关的内容   
              │    ├─ package.json
              │    ├─ platforms   工程目录
              │    │    ├─ android   Android工程目录
              │    │    ├─ ios          IOS工程目录
              │    │    └─ platforms.json   Android和IOS版本配置
              │    ├─ plugins    cordova相关的配置
              │    │    ├─ android.json
              │    │    ├─ cordova-plugin-whitelist
              │    │    ├─ fetch.json
              │    │    └─ ios.json
              │    ├─ res
              │    └─ www
              └─ normal      
              ├─ app.project      
              ├─ build.properties      
              └─ config.xml




Android工程模板分析篇
        android├─ AndroidManifest.xml
                  ├─ CordovaLib
                  ├─ JustepGetContent
                  ├─ android.json
                  ├─ assets     网页代码存放目录
                  ├─ build.gradle
                  ├─ cordova
                  ├─ gradle
                  │    └─ wrapper
                  │           ├─ gradle-wrapper.jar
                  │           └─ gradle-wrapper.properties
                  ├─ gradle.properties
                  ├─ libs     库文件
                  ├─ platform_www    cordova相关目录
                  ├─ project.properties
                  ├─ res
                  ├─ settings.gradle
                  ├─ src    自动生成的模板java代码
                  └─ wrapper.gradle以上是Android工程目录,事实上和直接使用Android Studio生成的Android工程目录相似。

     目前Wex5平台使用的Gradle版本为3.3版本,使用的依赖版本为:2.3.0版本,用来编译的jdk版本为1.6版本。




常见问题解决方案
     1、由于目前很多Android发布平台都要求App的target版本为26以上,在编译之前,可以在AndroidManifest.xml中直接修改targetSDKVersion为26。
     2、同时,在project.properties中修改target=android-26,可以将版本修改为26,这样在编译的过程中会使用26版本的sdk作为检测,因此需要更新tools目录下的sdk目录(建议直接下载SDK Manager,在sdk目录下更新sdk版本)
     3、如果需要升级gradle,有的时候会出现gradle无法下载的问题,因为gradle下载会从google上面download。这里需要进行翻墙。如果想本地更新可以在gradle.properties中增加本地代理:
   systemProp.http.proxyHost=127.0.0.1
   systemProp.http.proxyPort=8087
   systemProp.http.nonProxyHosts=localhost

0

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
QQ
发表于 2020-3-26 16:20:16 | 显示全部楼层
{:2_95:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-5-10 09:35 , Processed in 0.063934 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表