Java 在logcat中使用NullPointerException应用强制关闭

Java 在logcat中使用NullPointerException应用强制关闭,java,android,root,Java,Android,Root,eclipse中没有错误。。但无论何时启动应用程序,它都是:( 我正在尝试制作一个应用程序,每当我按下按钮时,它都会将脚本安装到init.d。我认为问题在于括号,因为它们给我带来了很多麻烦!你可以看到它们是以一种无序的方式排列的 MainActivity.java package com.example.kernel.version; import java.io.IOException; import java.util.concurrent.TimeoutException; impor

eclipse中没有错误。。但无论何时启动应用程序,它都是:( 我正在尝试制作一个应用程序,每当我按下按钮时,它都会将脚本安装到init.d。我认为问题在于括号,因为它们给我带来了很多麻烦!你可以看到它们是以一种无序的方式排列的

MainActivity.java

package com.example.kernel.version;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.stericson.RootTools.Command;
import com.stericson.RootTools.RootTools;

public class MainActivity extends Activity {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Button button= (Button) findViewById(R.id.button);

        button.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {



        RootTools.remount("/system/", "rw");
        Command command = new Command(0, "su", "cp /sdcard/scripts/* /system/etc/init.d/")
        {
                @Override
                public void output(int id, String line)
                {

                }
        };
        try {
            RootTools.getShell(true).add(command).waitForFinish();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (TimeoutException e) {
            e.printStackTrace();
        }
            }
        });}}
活动\u main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="22dp"
        android:layout_marginTop="141dp"
        android:text="Install Scripts" />

</RelativeLayout>

我认为NullPointerException在线,
按钮.setOnClickListener(新视图.OnClickListener(){

因为您在从布局Xml文件访问按钮之前错过了
setContentView(R.layout.Activity_main);
。所以您的
按钮
NULL

大概

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // You missed this code line,
        setContentView(R.layout.Activity_main);

        Button button= (Button) findViewById(R.id.button);

首先创建按钮实例,然后添加侦听器 按钮

public void onCreate(Bundle savedInstanceState) {

    button = (Button) findViewById(R.id.button);

     button.setOnClickListener(new View.OnClickListener() {
    }
}

应用程序强制关闭,没有错误。你确定你在安卓系统上工作吗?抓拍你的日志…这是日志先生哦,天哪!我怎么会错过那一个!!非常感谢!!像往常一样,这里的人都是极客,非常有用!!!