我想在控制台打印一些东西,这样我就可以调试它。但出于某种原因,我的Android应用程序没有打印任何东西。

我怎么调试呢?

public class HelloWebview extends Activity {
    WebView webview;    
    private static final String LOG_TAG = "WebViewDemo";
    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        webview = (WebView) findViewById(R.id.webview);
        webview.setWebViewClient(new HelloWebViewClient());
        webview.getSettings().setJavaScriptEnabled(true);
        webview.setWebChromeClient(new MyWebChromeClient());
        webview.loadUrl("http://example.com/");    
        System.out.println("I am here");
    }

当前回答

对我有效的解决方案:

在Logcat中。(如果尚未显示Logcat,则显示Logcat。点击查看菜单——>工具窗口——>Logcat)。它显示为System。不是像你期望的那样System.out.println。如果你还没有重新构建应用程序。

在图片中,黄色突出显示的是系统。输出“Hello again”。

其他回答

Correction: On the emulator and most devices System.out.println gets redirected to LogCat and printed using Log.i(). This may not be true on very old or custom Android versions. Original: There is no console to send the messages to so the System.out.println messages get lost. In the same way this happens when you run a "traditional" Java application with javaw. Instead, you can use the Android Log class: Log.d("MyApp","I am here"); You can then view the log either in the Logcat view in Eclipse, or by running the following command: adb logcat It's good to get in to the habit of looking at logcat output as that is also where the Stack Traces of any uncaught Exceptions are displayed. The first Entry to every logging call is the log tag which identifies the source of the log message. This is helpful as you can filter the output of the log to show just your messages. To make sure that you're consistent with your log tag it's probably best to define it once as a static final String somewhere. Log.d(MyActivity.LOG_TAG,"Application started"); There are five one-letter methods in Log corresponding to the following levels: e() - Error w() - Warning i() - Information d() - Debug v() - Verbose wtf() - What a Terrible Failure The documentation says the following about the levels: Verbose should never be compiled into an application except during development. Debug logs are compiled in but stripped at runtime. Error, warning and info logs are always kept.

最近我在Android Studio 3.3中发现了同样的问题。我关闭了其他Android工作室项目,Logcat开始工作。上面这个公认的答案根本不符合逻辑。

它没有显示在您的应用程序中…它在模拟器的logcat下

System.out.println("…")会显示在Android Studio的Android Monitor上

是的。如果您正在使用模拟器,它将显示在系统下的Logcat视图中。标签。编写一些东西并在模拟器中进行尝试。