2016-05-25 8 views
0

プロジェクトディレクトリに保存された実行時にファイルに書き込もうとしています。しかし、私はエラーの下に取得しています:プロジェクトディレクトリに保存されたファイルに書き込む方法

java.io.FileNotFoundException: multidex.keep: open failed: EROFS (Read-only file system) 

は私が私が間違ったファイルのパスを与えているか、私は、実行時にファイルを編集することはできませんか?提案してください。以下は私のコードです

private void saveInMultidexKeepFile(List externalDexClasses) { 
     if (externalDexClasses != null && externalDexClasses.size() > 0) { 
      File file = new File("multidex.keep"); 
      FileOutputStream fOut = null; 
      try { 
       fOut = new FileOutputStream(file); 
       OutputStreamWriter outWriter = new OutputStreamWriter(fOut); 
       for (int i = 0; i < externalDexClasses.size(); i++) { 
        outWriter.append(externalDexClasses.get(i).toString()); 
        outWriter.append("\n"); 
        LOGD("Multidex:", outWriter.toString()); 
       } 
       outWriter.close(); 
       fOut.close(); 


      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
       LOGD("Multidex:", e.getMessage()); 
      } catch (IOException e) { 
       e.printStackTrace(); 
       LOGD("Multidex:", e.getMessage()); 
      } 

     } 

    } 
+0

'プロジェクトディレクトリ内'プロジェクトディレクトリとは何でしょうか?フルパスを与えてください。 – greenapps

+0

'fOut = openFileOutput(filename);試してください。フルパスを使用してください:' File file = new File(getFilesDir()、 "multidex.keep"); ' – greenapps

+0

@greenapps、projectディレクトリはbuild、src、libs、build.gradleファイルが存在するディレクトリです。私はこのフォルダの下にファイルを作成し、実行時に編集したい –

答えて

0

私はあなたが単純にできないと思います、なぜこのファイルを変更したいですか?

+0

multidexを使用した後に私たちのアプリの起動が遅れています。この記事では、 "https://medium.com/groupon-eng/android-s-multidex-slows-down-app-startup-d9f10b46770f#。j01kgi48u " - 読み込まれたすべての外部クラスをmultidex.keepファイルに追加することを提案しました。これを追加するとパフォーマンスが向上しましたので、このソリューションを試していましたが、このエラーが発生しました。 –

関連する問題