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