我们自己制作的应用程序在android 9中运行良好,但在android 6或更高版本中不起作用
不幸的是,你的应用程序已经停止工作。我已经创建了一个应用程序,目标api 26,最低api 19。当我在安卓9中安装它时,它工作正常,但当我在安卓6或更高版本中安装它时,它会给我错误。你的应用程序不幸停止工作 这是我的主xml文件我们自己制作的应用程序在android 9中运行良好,但在android 6或更高版本中不起作用,android,Android,不幸的是,你的应用程序已经停止工作。我已经创建了一个应用程序,目标api 26,最低api 19。当我在安卓9中安装它时,它工作正常,但当我在安卓6或更高版本中安装它时,它会给我错误。你的应用程序不幸停止工作 这是我的主xml文件 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
请根据日志分享完整的Logcat错误,错误在
第16行xml
文件中,我知道,但解决方法是什么
package com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary;
import android.content.Intent;
import android.os.Bundle;
import android.speech.tts.SynthesisCallback;
import android.speech.tts.SynthesisRequest;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeechService;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.support.v4.view.GravityCompat;
import android.support.v7.app.ActionBarDrawerToggle;
import android.view.MenuItem;
import android.support.design.widget.NavigationView;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.SeekBar;
import java.util.ArrayList;
import java.util.Locale;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
MenuItem setting;
Dictionary dictionary;
AboutUs aboutUs;
BookMarks bookMarks;
ditailsFragment d;
Toolbar toolbar;
DBHelper dbHelper;
TextToSpeech textToSpeech;
ImageButton btnValumeUp;
SeekBar valum;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
toolbar = findViewById( R.id.toolbar );
setSupportActionBar( toolbar );
try {
dbHelper = new DBHelper( this );
} catch (Exception e) {
e.printStackTrace();
}
textToSpeech = new TextToSpeech( MainActivity.this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status!=TextToSpeech.ERROR){
textToSpeech.setLanguage( Locale.ENGLISH );
}
}
} );
// setting.setIcon( getDrawable( R.drawable.usaflage ) );
// FloatingActionButton fab = findViewById( R.id.fab );
// fab.setOnClickListener( new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// Snackbar.make( view, "Replace with your own action", Snackbar.LENGTH_LONG )
// .setAction( "Action", null ).show();
// }
// } );
DrawerLayout drawer = findViewById( R.id.drawer_layout );
NavigationView navigationView = findViewById( R.id.nav_view );
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close );
drawer.addDrawerListener( toggle );
toggle.syncState();
navigationView.setNavigationItemSelectedListener( this );
dictionary = new Dictionary();
aboutUs = new AboutUs();
d=new ditailsFragment();
goToFragments(dictionary,true);
dictionary.setHandleFragments( new HandleFragments() {
@Override
public void onItemClicked(String value) {
String id= Globale.getState( MainActivity.this,"dic_type" );
int dicTpe= id==null ? R.id.engpa:Integer.valueOf( id );
goToFragments( ditailsFragment.getNewInstance( value,dbHelper,dicTpe ),false );
//System.out.println( value );
}
} );
bookMarks = BookMarks.getNewInstance( dbHelper );
bookMarks.setHandleFragments( new HandleFragments() {
@Override
public void onItemClicked(String value) {
String id= Globale.getState( MainActivity.this,"dic_type" );
int dicTpe= id==null ? R.id.engpa:Integer.valueOf( id );
goToFragments( ditailsFragment.getNewInstance( value,dbHelper,dicTpe ),false );
}
} );
//Search EditeTex click event enablede
final EditText search = (EditText)findViewById( R.id.search );
search.addTextChangedListener( new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
dictionary.filterValue( s.toString() );
Editable searchText = search.getText();
goToFragments( dictionary,false );
//return true;
}
@Override
public void afterTextChanged(Editable s) {
}
} );
// setting.setIcon( getDrawable( R.drawable.usaflage ) );
}
@Override
public void onBackPressed() {
DrawerLayout drawer = findViewById( R.id.drawer_layout );
if (drawer.isDrawerOpen( GravityCompat.START )) {
drawer.closeDrawer( GravityCompat.START );
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// setting.setIcon( getDrawable( R.drawable.usaflage ) );
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate( R.menu.main, menu );
setting =menu.findItem( R.id.action_settings );
String id= Globale.getState( this,"dic_type" );
if(id != null){
onOptionsItemSelected( menu.findItem( Integer.valueOf( id ) ) );
}
else{
ArrayList<String> source = dbHelper.getWord(R.id.engpa );
dictionary.resetDataSource( source );
}
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (R.id.action_settings==id)return true;
// if(R.id.action_clear==id){
// System.out.println( "clear" );
// }
// Global.saveState( this,"dic_type",String.valueOf( id ) );
Globale.saveSate( this,"dic_type",String.valueOf( id ) );
ArrayList<String> source =dbHelper.getWord(id);
//noinspection SimplifiableIfStatement
if (id == R.id.paeng)
{
dictionary.resetDataSource( source);
}else if(id==R.id.engpa){
dictionary.resetDataSource( source);
}
return super.onOptionsItemSelected( item );
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if(id==R.id.nav_bookmark){
goToFragments( bookMarks,false);
}
else if (id==R.id.nav_rate){
goToFragments( aboutUs,false );
}else if(id==R.id.nav_share){
Intent intent = new Intent( Intent.ACTION_SEND);
intent.setType( "tesxt/plain" );
String shareBody="my body";
String subDody ="sub";
intent.putExtra( Intent.EXTRA_SUBJECT, shareBody);
intent.putExtra( Intent.EXTRA_SUBJECT, subDody);
startActivity( Intent.createChooser( intent,"Share Via" ) );
}else if (id==R.id.exit){
System.exit( 0 );
}
DrawerLayout drawer = findViewById( R.id.drawer_layout );
drawer.closeDrawer( GravityCompat.START );
return true;
}
void goToFragments(Fragment fragment, boolean isTop){
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace( R.id.conttener,fragment);
if(!isTop){
fragmentTransaction.addToBackStack( null );
}
fragmentTransaction.commit();
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
String activeFragment = getSupportFragmentManager().findFragmentById( R.id.conttener ).getClass().getSimpleName();
if( activeFragment.equals( BookMarks.class.getSimpleName() )){
setting.setVisible( false );
toolbar.findViewById( R.id.search ).setVisibility( View.GONE );
toolbar.setTitle( "Bookmark" );
}
// else if ( activeFragment.equals( AboutUs.class.getSimpleName() )){
// setting.setVisible( false );
// toolbar.findViewById( R.id.search ).setVisibility( View.GONE );
// toolbar.setTitle( "About us" );
//
// }
else {
setting.setVisible( true );
toolbar.findViewById( R.id.search ).setVisibility( View.VISIBLE );
toolbar.setTitle( "" );
}
return true;
}
}
02-10 06:35:02.147 1535-1535/? E/Zygote: v2
02-10 06:35:02.147 1535-1535/? I/libpersona: KNOX_SDCARD checking this for 10362
02-10 06:35:02.147 1535-1535/? I/libpersona: KNOX_SDCARD not a persona
02-10 06:35:02.147 1535-1535/? W/SELinux: Function: selinux_compare_spd_ram, index[1], priority [2], priority version is VE=SEPF_SECMOBILE_6.0.1_0025
02-10 06:35:02.147 1535-1535/? E/Zygote: accessInfo : 0
02-10 06:35:02.147 1535-1535/? W/SELinux: SELinux: seapp_context_lookup: seinfo=default, level=s0:c512,c768, pkgname=com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary
02-10 06:35:02.147 1535-1535/? I/art: Late-enabling -Xcheck:jni
02-10 06:35:02.187 1535-1535/? D/TimaKeyStoreProvider: TimaSignature is unavailable
02-10 06:35:02.187 1535-1535/? D/ActivityThread: Added TimaKeyStore provider
02-10 06:35:02.247 1535-1535/? D/ResourcesManager: For user 0 new overlays fetched Null
02-10 06:35:02.267 1535-1541/? I/art: Debugger is no longer active
02-10 06:35:02.277 1535-1535/? W/System: ClassLoader referenced unknown path: /data/app/com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary-1/lib/arm
02-10 06:35:02.327 1535-1545/? I/art: Background partial concurrent mark sweep GC freed 12449(661KB) AllocSpace objects, 1(20KB) LOS objects, 85% free, 1090KB/7MB, paused 5.635ms total 33.217ms
02-10 06:35:02.367 1535-1535/? W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
02-10 06:35:02.597 1535-1535/? D/TextView: setTypeface with style : 0
02-10 06:35:02.637 1535-1535/? W/ResourceType: Failure getting entry for 0x7f070067 (t=6 e=103) (error -75)
02-10 06:35:02.647 1535-1535/? W/ResourceType: Failure getting entry for 0x7f070077 (t=6 e=119) (error -75)
02-10 06:35:02.647 1535-1535/? W/ResourceType: Failure getting entry for 0x7f070076 (t=6 e=118) (error -75)
02-10 06:35:02.647 1535-1535/? W/ResourceType: Failure getting entry for 0x7f070069 (t=6 e=105) (error -75)
02-10 06:35:02.647 1535-1535/? W/ResourceType: Failure getting entry for 0x7f070067 (t=6 e=103) (error -75)
02-10 06:35:02.647 1535-1535/? D/AndroidRuntime: Shutting down VM
02-10 06:35:02.657 1535-1535/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary, PID: 1535
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary/com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary.MainActivity}: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3319)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: android.view.InflateException: Binary XML file line #16: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
at android.view.LayoutInflater.inflate(LayoutInflater.java:551)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary.MainActivity.onCreate(MainActivity.java:52)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class android.support.design.widget.NavigationView
at android.view.LayoutInflater.createView(LayoutInflater.java:657)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary.MainActivity.onCreate(MainActivity.java:52)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at android.view.LayoutInflater.createView(LayoutInflater.java:631)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:776)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary.MainActivity.onCreate(MainActivity.java:52)
at android.app.Activity.performCreate(Activity.java:6904)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3266)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
at android.app.ActivityThread.access$1100(ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:7325)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f070067
at android.content.res.Resources.getValue(Resources.java:2598)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188)
at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:491)
at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.prepareMenuItems(NavigationMenuPresenter.java:519)
at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.update(NavigationMenuPresenter.java:460)
at android.support.design.internal.NavigationMenuPresenter.updateMenuView(NavigationMenuPresenter.java:117)
at android.support.design.widget.NavigationView.inflateMenu(NavigationView.java:250)
at android.support.design.widget.NavigationView.<init>(NavigationView.java:172)
at android.support.design.widget.Navigation
02-10 06:35:10.987 1535-1535/com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary I/Process: Sending signal. PID: 1535 SIG: 9
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.imrankhan.pahstoenglishdictionary.khan.wardak.app.englistopashtodictionary"
minSdkVersion 14
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.0.1'
implementation 'com.android.support:support-v4:26.0.1'
implementation 'com.android.support:design:26.0.1'
implementation 'com.android.support:appcompat-v7:26.0.1'
implementation 'com.android.support:cardview-v7:26.0.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}