Cordova Android应用程序错误:无法访问mkdirat&;设备就绪在5秒后未触发

Cordova Android应用程序错误:无法访问mkdirat&;设备就绪在5秒后未触发,android,cordova,Android,Cordova,我有一个Cordova应用程序,它在所有android设备上都能正常工作,我两个月都没有工作,然后我尝试在它上运行三星Galaxy S3和S4,但它给出了以下错误,开始是:“无法使用mkdirat(/storage/extSdCard/android):只读文件系统”,最后是“device ready在5秒后还没有启动”。奇怪的是,该应用程序正在其他类型的三星手机上运行,比如Galaxy Win,也在LG G2上运行 p.S: 下面的错误是使用.bat文件中的adb logcat捕获的 我正在使

我有一个Cordova应用程序,它在所有android设备上都能正常工作,我两个月都没有工作,然后我尝试在它上运行三星Galaxy S3和S4,但它给出了以下错误,开始是:
“无法使用mkdirat(/storage/extSdCard/android):只读文件系统”
,最后是
“device ready在5秒后还没有启动”
。奇怪的是,该应用程序正在其他类型的三星手机上运行,比如Galaxy Win,也在LG G2上运行

p.S:

  • 下面的错误是使用.bat文件中的
    adb logcat
    捕获的
  • 我正在使用文件插件,我试图按照建议降低版本
  • 我还打开了平台并将其添加回去,但也无法正常工作
  • 我使用的是Cordova版本:3.5
  • 更新:

  • 我忘了说我没有SD卡

    [ 12-20 11:29:53.686   275:  537 E/cutils   ]
    
    Failed to mkdirat(/storage/extSdCard/Android): Read-only file system
    
    
    
    [ 12-20 11:29:53.686   275:  537 W/Vold     ]
    
    Returning OperationFailed - no handler for errno 30
    
    
    
    [ 12-20 11:29:53.696   300: 1323 E/qdmemalloc ]
    
    heap_msk=40000000 flags=1
    
    
    
    
    
    [ 12-20 11:29:53.696 27315:27374 W/ContextImpl ]
    
    Failed to ensure directory: /storage/extSdCard/Android/data/com.site.myapp/files
    
    
    
    [ 12-20 11:29:53.696   275:  537 E/cutils   ]
    
    Failed to mkdirat(/storage/extSdCard/Android): Read-only file system
    
    
    
    [ 12-20 11:29:53.696 27315:27374 W/ContextImpl ]
    
    Failed to ensure directory: /storage/extSdCard/Android/data/com.site.myapp/files
    
    
    
    [ 12-20 11:29:53.696   275:  537 W/Vold     ]
    
    Returning OperationFailed - no handler for errno 30
    
    
    
    [ 12-20 11:29:53.706   275:  537 E/cutils   ]
    
    Failed to mkdirat(/storage/extSdCard/Android): Read-only file system
    
    
    
    [ 12-20 11:29:53.706 27315:27374 W/ContextImpl ]
    
    Failed to ensure directory: /storage/extSdCard/Android/data/com.site.myapp/cache
    
    
    
    [ 12-20 11:29:53.706   275:  537 W/Vold     ]
    
    Returning OperationFailed - no handler for errno 30
    
    
    
    [ 12-20 11:29:54.146  1588: 1588 D/IPPolicy ]
    
    onReceive: android.net.wifi.RSSI_CHANGED
    
    
    
    [ 12-20 11:29:54.146  1158: 1158 D/STATUSBAR-NetworkController ]
    
    onReceive() - RSSI_CHANGED_ACTION, WIFI_STATE, NETWORK_STATE
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    notifyRssiChange. suppState=COMPLETED, netState=CONNECTED, mWifiFit=CONNECTED_ROVE_IN, connected: true, original: -68, new: -60
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    calculateRssi. -60
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    processConnectivity. type: 1, connected: true, mRegistered: false, mobile_original: NO_MOBILE, wifi_original: CONNECTED_ROVE_IN, mobile_change: NO_MOBILE, wifi_change: CONNECTED_ROVE_IN
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    processRegCheck. needtoregister: true, mRegistered: false, type: 1, mRtype: 0, Mobile: NO_MOBILE, Wifi: CONNECTED_ROVE_IN, pauseims: DEFAULT, mAtomicNeedDereg.get(): false
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    doIPServiceUnregistration: Abort: mAtomicDereg.get()=false
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    doIPServiceUnregistration: Abort: mRegistered=false
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    doIPServiceUnregistration: Abort: mAtomicReg.get()=false
    
    
    
    [ 12-20 11:29:54.157  1588: 1588 D/IPPolicy ]
    
    destroyService. false
    
    
    
    [ 12-20 11:29:54.157  1158: 1158 D/STATUSBAR-NetworkController ]
    
    refreshSignalCluster - setNWBoosterIndicators(false)
    
    
    
    [ 12-20 11:29:54.157  1158: 1158 D/STATUSBAR-NetworkController ]
    
    refreshSignalCluster: data=-1 bt=false
    
    
    
    [ 12-20 11:29:54.177  1158: 1158 D/STATUSBAR-IconMerger ]
    
    checkOverflow(360), More:true, Req:true Child:8
    
    
    
    [ 12-20 11:29:54.187  1588: 1588 E/IPPhoneSettings ]
    
    getString(GBA_INIT) = 0
    
    
    
    [ 12-20 11:29:54.197  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mAtomicDereg.get()=false
    
    
    
    [ 12-20 11:29:54.197  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mRegistered=false
    
    
    
    [ 12-20 11:29:54.197  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mServerNotify=NONE
    
    
    
    [ 12-20 11:29:54.197  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mBlockReg.get()=true
    
    
    
    [ 12-20 11:29:54.197  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mReadImpuCount=0
    
    
    
    [ 12-20 11:29:54.957  1158: 1158 D/STATUSBAR-NetworkController ]
    
    refreshSignalCluster - setNWBoosterIndicators(false)
    
    
    
    [ 12-20 11:29:54.957  1158: 1158 D/STATUSBAR-NetworkController ]
    
    refreshSignalCluster: data=-1 bt=false
    
    
    
    [ 12-20 11:29:54.957  1158: 1158 D/STATUSBAR-IconMerger ]
    
    checkOverflow(360), More:true, Req:true Child:8
    
    
    
    [ 12-20 11:29:55.127  2044: 2044 W/Settings ]
    
    Setting airplane_mode_on has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 D/IPPolicy ]
    
    onSignalStrengthsChanged
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 D/IPPolicy ]
    
    processRegCheck. needtoregister: true, mRegistered: false, type: 1, mRtype: 0, Mobile: NO_MOBILE, Wifi: CONNECTED_ROVE_IN, pauseims: DEFAULT, mAtomicNeedDereg.get(): false
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 D/IPPolicy ]
    
    doIPServiceUnregistration: Abort: mAtomicDereg.get()=false
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 D/IPPolicy ]
    
    doIPServiceUnregistration: Abort: mRegistered=false
    
    
    
    [ 12-20 11:29:55.378  1158: 1158 D/STATUSBAR-NetworkController ]
    
    onSignalStrengthsChanged signalStrength=SignalStrength: 14 -1 -1 -1 -1 -1 -1 99 2147483647 2147483647 2147483647 -1 2147483647 gsm|lte 0x5 level=5
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 D/IPPolicy ]
    
    doIPServiceUnregistration: Abort: mAtomicReg.get()=false
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 D/IPPolicy ]
    
    destroyService. false
    
    
    
    [ 12-20 11:29:55.378  1588: 1588 E/IPPhoneSettings ]
    
    getString(GBA_INIT) = 0
    
    
    
    [ 12-20 11:29:55.388  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mAtomicDereg.get()=false
    
    
    
    [ 12-20 11:29:55.388  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mRegistered=false
    
    
    
    [ 12-20 11:29:55.388  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mServerNotify=NONE
    
    
    
    [ 12-20 11:29:55.388  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mBlockReg.get()=true
    
    
    
    [ 12-20 11:29:55.388  1588: 1588 D/IPPolicy ]
    
    doIPServiceRegistration: Abort: mReadImpuCount=0
    
    
    
    [ 12-20 11:29:55.788  1158: 1158 D/KeyguardUpdateMonitor ]
    
    received broadcast android.intent.action.BATTERY_CHANGED
    
    
    
    [ 12-20 11:29:55.788   825:  825 I/Tethering ]
    
    BATTERY_CHANGED, level = 8lowBatteryThreshold = 15
    
    
    
    [ 12-20 11:29:55.788   825:22548 D/BatteryService ]
    
    level:8, scale:100, status:2, health:2, present:true, voltage: 3713, temperature: 251, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303669, invalid charger:0, online:4, current avg:460, charge type:1, power sharing:false, high voltage charger:false
    
    
    
    [ 12-20 11:29:55.788   825:  825 D/BatteryService ]
    
    Sending ACTION_BATTERY_CHANGED.
    
    
    
    [ 12-20 11:29:55.788  1924: 1924 D/SViewCoverView ]
    
    BroadcastReceiver onReceive() : action : android.intent.action.BATTERY_CHANGED
    
    
    
    [ 12-20 11:29:55.788  1924: 1924 D/SViewCoverView ]
    
    level :8 plugged : 2
    
    
    
    [ 12-20 11:29:55.788   825:  825 D/UiModeManager ]
    
    mCoverManager.getCoverState() : true
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/KeyguardUpdateMonitor ]
    
    handleBatteryUpdate
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/CMASMessage ]
    
    [update] mShowingCMASText is false
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/CMASMessage ]
    
    CMASIcon was GONE : 
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/CMASMessage ]
    
    [update] mShowingCMASText is false
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/CMASMessage ]
    
    CMASIcon was GONE : 
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/STATUSBAR-PhoneStatusBar ]
    
     mBrightnessEnablebySettings = true mBrightnessEnablebyBattery = true mBrightnessEnablebyDisableFlag = true mPmsBrightnessEnablebySettings = true
    
    
    
    [ 12-20 11:29:55.798  1158: 1158 D/BatteryMeterView ]
    
    ACTION_BATTERY_CHANGED : level:8 status:2 health:2
    
    
    
    [ 12-20 11:29:55.808  1158: 1158 D/STATUSBAR-IconMerger ]
    
    checkOverflow(360), More:true, Req:true Child:8
    
    
    
    [ 12-20 11:29:57.970  1158: 1158 D/STATUSBAR-NetworkController ]
    
    refreshSignalCluster - setNWBoosterIndicators(false)
    
    
    
    [ 12-20 11:29:57.970  1158: 1158 D/STATUSBAR-NetworkController ]
    
    refreshSignalCluster: data=-1 bt=false
    
    
    
    [ 12-20 11:29:57.980  1158: 1158 D/STATUSBAR-IconMerger ]
    
    checkOverflow(360), More:true, Req:true Child:8
    
    
    
    [ 12-20 11:29:58.411 27315:27315 D/CordovaLog ]
    
    file:///android_asset/www/cordova.js: Line 1154 : deviceready has not fired after 5 seconds.
    
    
    
    [ 12-20 11:29:58.411 27315:27315 I/chromium ]
    
    [INFO:CONSOLE(1154)] "deviceready has not fired after 5 seconds.", source: file:///android_asset/www/cordova.js (1154)
    
    
    
    
    
    [ 12-20 11:29:58.411 27315:27315 D/CordovaLog ]
    
    file:///android_asset/www/cordova.js: Line 1147 : Channel not fired: onDOMContentLoaded
    
    
    
    [ 12-20 11:29:58.411 27315:27315 I/chromium ]
    
    [INFO:CONSOLE(1147)] "Channel not fired: onDOMContentLoaded", source: file:///android_asset/www/cordova.js (1147)
    

  • 任何帮助请

    我找到了解决方案,只需删除设备插件并再次添加,我知道这没有任何意义,但它现在可以工作了

    cordova plugin remove org.apache.cordova.device
    
    然后将其添加回:

    cordova plugin add org.apache.cordova.device
    

    我希望有一天这能帮助别人。

    构建应用程序时,读/写外部存储权限如何?@MrNeo也不起作用