2017-01-03 6 views
8

cordovaカメラプラグインを2.1.1から2.3.1にアップデートした後にビルドエラーが発生します。以下はバージョンの詳細ですCordovaカメラプラグインのアップグレード時にAndroidビルドエラーが発生する

コードヴァーバーバージョン:6.3.1、コードバ - プラグインカメラ2.1.1 "カメラ"。 CMD::コマンドは終了で失敗しました以下は、私がconfig.xmlファイルは、私はコルドバアンドロイドビルドを構築すると、私は以下のエラー エラーを取得

に更新されている参照followin

cordova plugin remove cordova-plugin-camera --save 
cordova plugin add cordova-plugin-camera --save 

だ段階ですコード1エラー出力: 注:一部の入力ファイルは、廃止予定のAPIを使用または上書きします。 注:詳細については、-Xlint:deprecationを使用して再コンパイルしてください。 注:入力ファイルの中には、廃止予定のAPIを使用または上書きするものがあります。 注:詳細については、-Xlint:deprecationを使用して再コンパイルしてください。 警告: 'menu_settings'にはデフォルトの翻訳がありません。

プラットフォーム\ android \ src \ org \ apache \ cordova \ camera \ CameraLauncher.java:32:エラー:シンボルを見つけることができません import org.apache.cordova.BuildHelper; シンボル:クラスBuildHelper 場所:パッケージorg.apache.cordova プラットフォーム\ android \ src \ org \ apache \ cordova \ camera \ CameraLauncher.java:140:エラー:シンボルが見つかりません this.applicationId =(String)BuildHelper。 getBuildConfigValue(cordova.getActivity()、 "APPLICATION_ID"); ^ シンボル:変数BuildHelper 場所:class CameraLauncher 注:一部の入力ファイルでは、廃止予定のAPIを使用または上書きしています。 注:詳細については、-Xlint:deprecationを使用して再コンパイルしてください。 注:一部の入力ファイルでは、未チェックまたは安全でない操作が使用されています。 注:-Xlintを使用して再コンパイルします。詳細については、チェックマークを外してください。 2エラー

FAILURE:例外が発生してビルドに失敗しました。

何が悪かったのか
  • : 実行がタスクに失敗しました ':compileDebugJavaWithJavac' を。

    Compilation failed; see the compiler error output for details.

  • してみてください。スタックトレースを取得する--stacktraceオプション付き 実行します。より多くのログ出力を得るには、--infoまたは - debugオプションを指定して実行します。

+1

あなたが削除して再追加しようとしたんでした一度それを構築する前にアンドロイドプラットフォーム?うまくいけば、それは問題を解決する必要があります – Gandhi

+0

それは動作しませんでした。 – user2934433

答えて

31

バージョン1.1.0のインストールを強制して解決しました。私は、以下の方法に変更を加えた

cordova plugin remove cordova-plugin-compat --force 
cordova plugin add [email protected] 
+0

これは人生の人ですが、まだ今日は –

+0

私は同様に働いた。しかし私はビジュアルスタジオ2015コードツールを使用しています。これらのプラグインを削除して追加するには、厳しいプロセスを経なければなりませんでした。私は私のブログにこれについてのブログ投稿を書いた。下のリンクをクリックしてください。 http://guntucomputerhacks.blogspot.com。au/2017/04/cordova-camera-plugin-version-240.html –

+0

「Visual Studio Tools for Apache Cordova」を使用している場合は、上記のコマンドを「パッケージマネージャーコンソール」で実行する必要があります。 「現在の作業ディレクトリはCordovaベースのプロジェクトではない」というエラーが表示された場合は、DOSコマンドを使用して現在の作業ディレクトリを変更するだけです。私の場合、DIRを実行して現在の作業ディレクトリを特定し、CDアプリケーションを実行してCordovaベースのプロジェクトディレクトリに移動します。この後、この回答に記載されている解決策は、エラーなく完全に正常に動作しました。 –

3

あなたは、私が今日、同じ問題に遭遇したバージョン1.1

+0

プラグインの最新バージョンを入手しようとしていますが、バージョン – user2934433

20

へコルドバ・プラグインカメラをアップグレードする必要があります。私はプラグインを再インストールして修正しましたcordova-plugin-compat。 依存関係のために--forceを使用しました。

cordova plugin remove cordova-plugin-compat --force 
cordova plugin add cordova-plugin-compat 
+0

をダウングレードしたくない場合は、使用しているプラ​​グインのバージョンを私に提供できますか? – user2934433

+0

すべてのプラグインを最新の状態に保つことは良い習慣であり、SKDツールも –

+0

私はカメラプラグインv2.4.0をインストールしましたが、ビルドに失敗しました。悲しいことに、上記のプロセスは私のために失敗しました(私が上記を行った後、コード・アップデートをインストールするよう促されました)。 カメラ2.4.0プラグインを削除したら、ビルドが再び機能します。 私は別の提案/修正があるかどうか確認するために狩りを行います。 – Mark

2

私は正確に同じエラーを得ました。これは実際には古いバージョンのcordova-plugin-compatプラグイン(1.0)が原因で、バージョン1.1(最新)にアップグレードすることで動作します。ここで

  1. は、すべてのプラットフォームを削除

    コルドバプラットフォーム、私がやったことであるアンドロイド

    コルドバプラットフォームを削除IOS

  2. は古いプラグインを削除し、

    新しいを追加、削除

    コードバプラグイン削除コードA-プラグイン-compatの

    コルドバプラグイン

  3. が戻っ

    コルドバプラットフォームは、Android

    コルドバプラットフォームは、IOSに

  4. 再コンパイルを追加追加し、すべてのプラットフォームを追加-compatのコルドバ・プラグインを追加しますすべてが機能します!

0

は、ここでは、CLIから実行するコマンドです。

// intiatiate you action accordingly 
if (action.equals("takePicture")) { 
      this.srcType = CAMERA; 
      this.destType = FILE_URI; 
      this.saveToPhotoAlbum = false; 
      this.targetHeight = 0; 
      this.targetWidth = 0; 
      this.encodingType = JPEG; 
      this.mediaType = PICTURE; 
      this.mQuality = 50; 

      // 
      this.destType = args.getInt(1); 
      this.srcType = args.getInt(2); 
      this.mQuality = args.getInt(0); 
      this.targetWidth = args.getInt(3); 
      this.targetHeight = args.getInt(4); 
      this.encodingType = args.getInt(5); 
      this.mediaType = args.getInt(6); 
      this.allowEdit = args.getBoolean(7); 
      this.correctOrientation = args.getBoolean(8); 
      this.saveToPhotoAlbum = args.getBoolean(9); 

      // If the user specifies a 0 or smaller width/height 
      // make it -1 so later comparisons succeed 
      if (this.targetWidth < 1) { 
       this.targetWidth = -1; 
      } 
      if (this.targetHeight < 1) { 
       this.targetHeight = -1; 
      } 

       if (this.targetHeight == -1 && this.targetWidth == -1 && this.mQuality == 100 && 
        !this.correctOrientation && this.encodingType == PNG && this.srcType == CAMERA) { 
       this.encodingType = JPEG; 
      } 

      try { 
       if (this.srcType == CAMERA) { 
        this.callTakePicture(destType, encodingType); 
       } 
       else if ((this.srcType == PHOTOLIBRARY) || (this.srcType == SAVEDPHOTOALBUM)) { 
        // FIXME: Stop always requesting the permission 
        if(!PermissionHelper.hasPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)) { 
         PermissionHelper.requestPermission(this, SAVE_TO_ALBUM_SEC, Manifest.permission.READ_EXTERNAL_STORAGE); 
        } else { 
         this.getImage(this.srcType, destType, encodingType); 
        } 
       } 
      } 
      catch (IllegalArgumentException e) 
      { 
       callbackContext.error("Illegal Argument Exception"); 
       PluginResult r = new PluginResult(PluginResult.Status.ERROR); 
       callbackContext.sendPluginResult(r); 
       return true; 
      } 

      PluginResult r = new PluginResult(PluginResult.Status.NO_RESULT); 
      r.setKeepCallback(true); 
      callbackContext.sendPluginResult(r); 

      return true; 
     } 
     return false; 
    } 
2

カメラプラグイン2.3.1からもエラーが発生しました。これは、アプリケーションIDを取得するためにcordova-plugin-compatに依存するためです。 cordova-plugin-compatを削除して1.1.0をインストールしても、私にとってはうまくいかなかった。

140  -  this.applicationId = (String) BuildHelper.getBuildConfigValue(cordova.getActivity(), "APPLICATION_ID"); 
141  -  this.applicationId = preferences.getString("applicationId", this.applicationId); 

と追加します。:この "SRC /アンドロイド/ CameraLauncher.java" から、このコードを削除する修正するには

140  +  this.applicationId = cordova.getActivity().getPackageName(); 

enter image description here

関連する問題