2016-11-07 4 views
0

크롬 북에서 리눅스 데스크톱을 만들기 위해 crouton을 사용하고 있습니다. 여기에 Android Studio가 설치되어 간단한 Android 앱에서 작업하기 시작했습니다. apk를 만들어 다운로드 폴더로 옮긴 다음 Linux에서 ChromeOS로 뒤집고 앱을 실행할 수 있습니다. (저는 APK 설치 프로그램을 사용합니다 - 잘 작동합니다).크롬 북에 Android 앱을 개발하고 디버그하는 것이 가능합니까?

내 앱에서 logcat을 볼 수 있기를 원합니다. (실제로 Android Studio에서 에뮬레이터를 실행할 때 얻을 수있는 모든 진단 결과를보고 싶습니다.하지만 logcat으로 해결할 수 있습니다.)

adb 사용에 관해 읽은 모든 내용은 Android Studio가 설치된 dev 컴퓨터와 앱이 실행되는 대상 컴퓨터가 있어야합니다. crouton을 사용하면 리눅스 데스크톱과 ChromeOS가 동일한 컴퓨터에 있으며 한 번에 하나씩 만 실행될 수 있습니다. 몇 가지 앱을 사용해 보았지만 Chromebook에서 실행중인 내 앱에서 logcat을 표시 할 수 없었습니다. - 그들은 그것이 실행 중임을 인식하지 못합니다. 누구든지이 특정 설정에 대한 logcat을 보는 방법에 대한 아이디어가 있습니까? 내가 로그 캣을 얻을 수있는 방법을 발견하고이 메소드를 호출 한 OnCreate 주요 활동에서 지금은 ... 그것을 위해

를 정착하고 지금까지

답변

0

;

public static void saveLogcatToFile(Context context) { 
      File outputFile = new File(context.getFilesDir(), "logcat.txt"); 

      try { 
       @SuppressWarnings("unused") 
       Process process = Runtime.getRuntime().exec("logcat -df " + outputFile.getAbsolutePath()); 
      } catch (IOException e) {... 

다른 활동의 onCreate에서 logcat을 사용하여 TextView를 채우기;

public static String readLogcatFromFile(Context context) { 
      File logFile = new File(context.getFilesDir(), "logcat.txt"); 
      if (logFile.exists() == false) { ... 

      String logContents = context.getString(R.string.EMPTY_STRING); 
      FileInputStream fileInStream = null; 
      try { 
       fileInStream = new FileInputStream(logFile); 
       logContents = convertStreamToString(fileInStream); 
      } catch (Exception e) { ... 
      } finally { ... 
       fileInStream.close(); 
      } 
      return logContents; 
    } 

    private static String convertStreamToString(InputStream is) throws IOException { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line).append("\n"); 
      } 
      reader.close(); 
      return sb.toString(); 
    } 

제거 할 때까지 로그가 각 실행마다 계속 유지됩니다 (로그 파일이 삭제됨). 뭔가를 해독하고 내 애플리케이션이 시작될 때 죽는 경우 특히 유용합니다. 이전 커밋으로 돌아가서 로그를 살펴보고 무슨 일이 있었는지 확인하십시오