Cordova 打包常见问题

 

1.IONIC2/3打包白屏时间长

解决方案

ionic cordova build android --prod     //使用prod模式

在config.xml 添加如下代码

<preference name="FadeSplashScreen" value="false" />

<preference name="ShowSplashScreenSpinner" value="false" />

<preference name="AutoHideSplashScreen" value="false" />


2.android 首次打包 apk 需要同意安卓协议

首先cd 到sdk manager 路径下 例如:cd Android/sdk/tools/bin

然后运行sdk manager

./sdkmanager --licenses

最后一路yes到底即可


3.打包报错:the connection to the server was unsuccessful(file ///android_asset/www/index.html)

解决方案1:

config.xml

添加<preference name="loadUrlTimeoutValue" value="100000"/>

添加后依次执行ionic platform rm android,ionic platform add android,ionic cordova build android --prod

解决方案2:

压缩图片大小


4.cordova-plugin-add-opener2报错:Running “cordova build android” - unable to find attribute android:fontVariationSettings and android:ttcIndex

解决方案步骤:

a.cordova plugin add cordova-plugin-add-opener2 --force

b.安装 cordova-android-support-gradle-release 插件

  cordova plugin add cordova-android-support-gradle-release --fetch

c.在 platforms/android中 build.gradle 添加如下代码

configurations.all {

    resolutionStrategy.force 'com.android.support:support-v4:27.1.0'

}

备用方案

configurations.all {

    resolutionStrategy {

        force 'com.android.support:support-v4:27.1.0'

    }

}

d.

ionic cordova platform rm android

ionic cordova platform add android


5.扫二维码插件barcodescanner与camera插件冲突解决办法

找到该文件:..\plugins\phonegap-plugin-barcodescanner\plugin.xml

移除<uses-feature android:name="android.hardware.camera">

重新添加 platform


6.签名包无法访问 https 接口

参考文档:http://ivancevich.me/articles/ignoring-invalid-ssl-certificates-on-cordova-android-ios/

android:

project/platforms/android/CordovaLib/src/org/apache/cordova/engine/SystemWebViewClient.java 

修改onReceivedSslError方法,修改如下

public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {

    handler.proceed();

}

ios:

project/platforms/ios/Project/Classes/AppDelegate.m 

将AppDelegate.m文件下修改为:

@implementation NSURLRequest(DataController)

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host

{

    return YES;

}

@end


7.IONIC2/3 WKWebView 出现跨域请求的问题

强制cordova使用UIWebView引擎渲染页面

(1)在config.xml里增加以下配置

<preference name="CordovaWebViewEngine" value="CDVUIWebViewEngine" />

(2)卸载WKWebView插件

$ ionic cordova plugin remove cordova cordova-plugin-ionic-webview --save


8.微信不兼容cordova7.0.0

这是cordova版本太高,不兼容这个插件所导致的。解决方案是修改$your_project/plugins/cordova-plugin-wechat/scripts/android-install.js中的

var targetDir = path.join(projectRoot, "platforms", "android", "src", packageName.replace(/\./g, path.sep), "wxapi");

修改为

var targetDir = path.join(projectRoot, "platforms", "android", "app","src","main","java", packageName.replace(/\./g, path.sep), "wxapi");

修改后,重新装一下平台

cordova platform remove android

cordova platform add android

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值