Cordova 打包常见问题

1.Ionic打包白屏时间长

解决方案

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.Ionic 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,616评论 2 45
  • ionic v1 1.7.16 官方文档 获取路径 npm install ionic@1.7.16 -g对应的i...
    ynwshy阅读 3,456评论 0 0
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    wgl0419阅读 6,385评论 1 9
  • 虽然我知道人不能脱离社会关系而独立存在,可是还是想自己一个人待着,没有父母,没有家庭,只有朋友,家里只有我,我想要自由
    轩辕蓝雪阅读 172评论 0 0
  • 终于在昨天的时候看完了这部剧,收尾实在是太仓促,我发现好多剧都是这样,前期费尽心思塑造的人设,结尾的时候恨不得一句...
    让忧伤面向阳光阅读 838评论 0 1