SQLite在模拟器6.0不能创建表,db.execSQL()语句没有执行

线上代码:
MainActivity.java:

 public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MyOpenHelper myOpenHelper = new MyOpenHelper(getApplicationContext());
        //创建或打开数据库
        SQLiteDatabase writableDatabase = myOpenHelper.getWritableDatabase();
        //创建或打开数据库,如果磁盘满了,返回只读的数据库
        SQLiteDatabase readableDatabase = myOpenHelper.getReadableDatabase();



    }
}

MyOpenHelper.java:

 public class MyOpenHelper extends SQLiteOpenHelper {

    public MyOpenHelper(@Nullable Context context) {
        super(context, "qqwe.db", null, 1);
    }

    @Override
    /**
     *数据库第一次创建的始后调用
     * 那么这个方法特别适合做表结构的初始化
     *此方法在android6.0模拟器不适用,原因待查
     * */
    public void onCreate(SQLiteDatabase db) {
        //id 一般以_id去写

        db.execSQL("create table Student ("
                + "id integer primary key autoincrement," + "name text,"
                + "score real," + "age integer," + "gender text)");
        System.out.println("创建完成");
    }

    /**
     * 当数据库升级的时候调用
     *
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

}

每次运行之前会将数据库删除,语句System.out.println("创建完成");会执行,在Android4.4运行正常,但在6.0上不能创建表,应该是db.execSQL()语句没有执行。
问:为什么在Android4.4上正常运行,但在6.0上却不能创建表?
求大神指教

数据库应该需要写入权限,6.0的手机都需要去请求动态权限,去请求下动态权限试试,应该是写入这个权限

你是6.0 看看权限是否动态请求,本地数据库操作需要文件的读写权限