2017-08-03 137 views
1

絕對路徑我創建了一個自定義插件,我試圖通過CMD得到以下錯誤Android的離子科爾多瓦 - 錯誤:無法獲得到安裝的模塊

> cordova plugin add C:\r\work\custom_plugins\cordova-plugin-webrtc-video-call - 
-save 
x Running command - failed! 

[ERROR] Cordova encountered an error. 
     You may get more insight by running the Cordova command above directly. 

[ERROR] An error occurred while running cordova plugin add 
     C:\r\work\custom_plugins\cordova-plugin-webrtc-video-call --s... (exit 
     code 1): 

     Error: Failed to get absolute path to installed module 


C:\r\work> 

config.xml中添加它

<?xml version='1.0' encoding='utf-8'?> 
<plugin id="cordova-plugin-webrtc-video-call" version="1.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> 
    <name>WebrtcVideoCall</name> 
    <js-module name="WebrtcVideoCall" src="www/WebrtcVideoCall.js"> 
     <clobbers target="cordova.plugins.WebrtcVideoCall" /> 
    </js-module> 
    <platform name="android"> 
     <config-file parent="/*" target="res/xml/config.xml"> 
      <feature name="WebrtcVideoCall"> 
       <param name="android-package" value="com.hsc.plugin.webrtc.WebrtcVideoCall" /> 
      </feature> 
     </config-file> 
     <config-file parent="/manifest/application" target="AndroidManifest.xml"> 
      <activity 
       android:name="com.hsc.plugin.webrtc.CallActivity" 
       android:screenOrientation="fullUser" 
       android:configChanges="orientation|screenSize" 
       android:exported="true" 
       android:theme="@style/CallActivityTheme"> 
       <intent-filter> 
        <action android:name="com.hsc.plugin.ACTION_CALL" /> 
        <category android:name="android.intent.category.DEFAULT" /> 
       </intent-filter> 
      </activity> 

     </config-file> 
     <config-file target="AndroidManifest.xml" parent="/manifest"> 
      <uses-feature android:name="android.hardware.camera" required="false" /> 
      <uses-feature android:name="android.hardware.camera.autofocus" required="false" /> 
      <uses-feature 
       android:glEsVersion="0x00020000" 
       android:required="false" 
      /> 
      <uses-permission android:name="android.permission.CAMERA"/> 
      <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 
      <uses-permission android:name="android.permission.RECORD_AUDIO"/> 
      <uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" /> 
     </config-file> 
     <framework src="src/android/Webrtc.gradle" custom="true" type="gradleReference"/> 

     <source-file src="src/android/AppRTCAudioManager.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/AppRTCClient.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/AppRTCProximitySensor.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/CallActivity.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/CallFragment.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/CaptureQualityController.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/CpuMonitor.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/DirectRTCClient.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/HudFragment.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/PeerConnectionClient.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/PercentFrameLayout.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/RoomParametersFetcher.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/TCPChannelClient.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/UnhandledExceptionHandler.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/WebrtcVideoCall.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/WebSocketChannelClient.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/WebSocketRTCClient.java" target-dir="src/com/hsc/plugin/webrtc" /> 
     <source-file src="src/android/util/AppRTCUtils.java" target-dir="src/com/hsc/plugin/webrtc/util" /> 
     <source-file src="src/android/util/AsyncHttpURLConnection.java" target-dir="src/com/hsc/plugin/webrtc/util" /> 

     <source-file src="src/android/libs/autobanh.jar" target-dir="libs" framework="true" /> 
     <source-file src="src/android/libs/libjingle-peerconnection-sources.jar" target-dir="libs" framework="true" /> 
     <source-file src="src/android/libs/libjingle-peerconnection.jar" target-dir="libs" framework="true" /> 
     <source-file src="src/android/libs/armeabi-v7a/libjingle_peerconnection_so.so" target-dir="libs/armeabi-v7a" 
        framework="true" /> 

     <!-- drawable src/android/resources --> 
     <resource-file src="src/android/res/drawable-hdpi/disconnect.png" target="res/drawable-hdpi/disconnect.png" /> 
     <resource-file src="src/android/res/drawable-mdpi/disconnect.png" target="res/drawable-mdpi/disconnect.png" /> 
     <resource-file src="src/android/res/drawable-xhdpi/disconnect.png" target="res/drawable-xhdpi/disconnect.png" /> 
     <resource-file src="src/android/res/drawable-ldpi/disconnect.png" target="res/drawable-ldpi/disconnect.png" /> 
     <resource-file src="src/android/res/layout/activity_call.xml" target="res/layout/activity_call.xml" /> 
     <resource-file src="src/android/res/layout/fragment_call.xml" target="res/layout/fragment_call.xml" /> 
     <resource-file src="src/android/res/layout/fragment_hud.xml" target="res/layout/fragment_hud.xml" /> 
     <resource-file src="src/android/res/values/WebrtcPluginStrings.xml" target="res/values/WebrtcPluginStrings.xml" /> 
     <resource-file src="src/android/res/values/WebrtcPluginStyles.xml" target="res/values/WebrtcPluginStyles.xml" /> 

     <resource-file src="src/android/res/drawable-hdpi/ic_action_full_screen.png" target="res/drawable-hdpi/iic_action_full_screen.png" /> 
     <resource-file src="src/android/res/drawable-mdpi/ic_action_full_screen.png" target="res/drawable-mdpi/ic_action_full_screen.png" /> 
     <resource-file src="src/android/res/drawable-xhdpi/ic_action_full_screen.png" target="res/drawable-xhdpi/ic_action_full_screen.png" /> 
     <resource-file src="src/android/res/drawable-ldpi/ic_action_full_screen.png" target="res/drawable-ldpi/ic_action_full_screen.png" /> 

     <resource-file src="src/android/res/drawable-hdpi/ic_action_return_from_full_screen.png" target="res/drawable-hdpi/ic_action_return_from_full_screen.png" /> 
     <resource-file src="src/android/res/drawable-mdpi/ic_action_return_from_full_screen.png" target="res/drawable-mdpi/ic_action_return_from_full_screen.png" /> 
     <resource-file src="src/android/res/drawable-xhdpi/ic_action_return_from_full_screen.png" target="res/drawable-xhdpi/ic_action_return_from_full_screen.png" /> 
     <resource-file src="src/android/res/drawable-ldpi/ic_action_return_from_full_screen.png" target="res/drawable-ldpi/ic_action_return_from_full_screen.png" /> 



    </platform> 
</plugin> 

我已經與--nofetch選項試過,我用科爾多瓦V7.0.1

回答

1

有關於這個問題的幾個職位的SO。

看來科爾多瓦是您使用的是安裝插件的本地路徑,並在config.xml文件中關於該插件的信息之間丟失。

一些人通過先用--force標誌移除插件來解決它,然後再重新安裝:

cordova plugin remove cordova-plugin-webrtc-video-call --force 
cordova plugin add C:\r\work\custom_plugins\cordova-plugin-webrtc-video-call 

(-save似乎因爲插件添加到要在科爾多瓦7沒用config.xml中沒有說)

當我有我通過清洗從項目和所有插件固定它的問題重新添加插件:

  1. 刪除插件文件夾
  2. 刪除平臺/ android文件夾,
  3. 刪除config.xml中所有的插件引用
  4. 所有的插件重新添加到項目

PS:在你的插件的XML文件被命名爲插件。 XML和不是config.xml,對吧?

+0

我爲什麼要刪除平臺和別人我的插件,因爲這將需要大量重新創建平臺(約20分鐘)。我跟你一個命令試圖用--force選項刪除,但它仍然沒有工作謝謝 –

+0

我不說你也應該這樣做,只是因爲這就是我所做的)重新安裝我自己的插件時,我的問題是我有腳本,重新添加的所有插件,並重新在任何時間plathorm。也許問題出在文件的plugin.xml或的package.json? – QuickFix

6

確保沒有插件的任何文件/符號連接到您要安裝node_modules。如果它的存在,將其刪除並重新運行命令:

cordova plugin add C:\r\work\custom_plugins\cordova-plugin-webrtc-video-call --nofetch

希望有所幫助。 :)