2017-12-21 33 views
2

私はマニフェスト例外:IllegalArgumentException - アンドロイド7.0

follwingコード

 Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE); 
     File file = new File(location);  
     // location= Environment.getExternalStorageDirectory() + "/Download/AppName\MyApk.apk";  
     Uri uri = FileProvider.getUriForFile(Login.this, BuildConfig.APPLICATION_ID + ".fileprovider", file); 
     intent.setData(uri); 
     intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
     startActivityForResult(intent, INSTALL_APK_REQUEST_CODE); 

を使用していますFileProvider概念を使用して私のアプリからDownload\AppName\myApk.apkに保存されたAPKファイルにアクセスしようとしているが、

を失敗しています

<provider 
     android:name="android.support.v4.content.FileProvider" 
     android:authorities="xxx.xxx.xxx.fileprovider" 
     android:exported="false" 
     android:grantUriPermissions="true"> 
     <meta-data 
      android:name="android.support.FILE_PROVIDER_PATHS" 
      android:resource="@xml/filepaths"/> 
    </provider> 

filePath.xml

<paths xmlns:android="http://schemas.android.com/apk/res/android"> 
    <files-path name="adbc" path="Download/AppName" /> 
</paths> 

例外

Failed to find configured root that contains /storage/emulated/0/Download/AppName/MyAPk.apk 

助けてください!

+1

あなたの質問を編集して、完全なJavaスタックトレースを提供してください。 – CommonsWare

+3

スタックトレースではなくエラーメッセージを追加したことに注意してください。このように*この*時間は、エラーメッセージで十分でした。将来的には、クラッシュを伴うStack Overflowに関する質問をするときは**スタックトレース全体を投稿してください。難易度の源泉はトップラインよりも深いかもしれません。 – CommonsWare

答えて

4

は交換してください:

<files-path name="adbc" path="Download/AppName" /> 

で:

<external-path name="adbc" path="Download/AppName" /> 
+0

ありがとう............ –

関連する問題