Skip to content
This repository was archived by the owner on Mar 16, 2019. It is now read-only.

addAndroidDownloads apk,someone android phone .apk chang to .text #427

Open
erhutime opened this issue Jul 13, 2017 · 15 comments
Open

addAndroidDownloads apk,someone android phone .apk chang to .text #427

erhutime opened this issue Jul 13, 2017 · 15 comments

Comments

@erhutime
Copy link

hi, use addAndroidDownloads apk, some one android pone xxxx.apk change to xxxx.txt;
how to fiexd it?


 RNFetchBlob
            .config({
                fileCache:true ,
                addAndroidDownloads : {
                    useDownloadManager : true, // <-- this is the only thing required
                    notification : true,
                    mime : 'text/plain',
                    description : 'File downloaded by download manager.'
                }
            })
            .fetch('GET', url, {
            })
            .progress((received, total) => {
          
                console.log('开始下载。。。。。。。。');
            })
            .then((res) => {
                // the temp file path
                console.log('....开始下载', res.path());
                this.setState({
                    path:res.path()
                },()=>{
                    console.log(res.path() + '下载完成 :' + this.state.path)
                    android.actionViewIntent(res.path(), 'application/vnd.android.package-archive')
                })

            })
@erhutime
Copy link
Author

i fork this code to fixed can not parse package in some phone ,and use way:npm install 'https://xxxxx.git' --save and link it is.

@wkh237
Copy link
Owner

wkh237 commented Jul 13, 2017

@erhutime , from the code snippet you provided I saw the mime is set to text/plain, have you tried changing this to application/vnd.android.package-archive ?

@erhutime
Copy link
Author

OK,i will try.

@erhutime
Copy link
Author

that is not working,download apk is ok ,install apk is not work;
this error is:
```
07-13 18:21:26.680 32690-8564/? E/DatabaseUtils: Writing exception to parcel
java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.provider.DownloadProvider uri content://downloads/all_downloads/513 from pid=3606, uid=10025 requires android.permission.ACCESS_ALL_DOWNLOADS, or grantUriPermission()
at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:616)
at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:483)
at android.content.ContentProvider$Transport.enforceFilePermission(ContentProvider.java:474)
at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:419)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:313)
at android.os.Binder.execTransact(Binder.java:565)
07-13 18:21:26.683 3606-3621/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.google.android.packageinstaller, PID: 3606
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.provider.DownloadProvider uri content://downloads/all_downloads/513 from pid=3606, uid=10025 requires android.permission.ACCESS_ALL_DOWNLOADS, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1683)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:146)
at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:692)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1160)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:997)
at android.content.ContentResolver.openInputStream(ContentResolver.java:717)
at com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:771)
at com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:762)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
07-13 18:21:26.685 465-465/? E/SELinux: avc: denied { find } for service=miui.mqsas.MQSService pid=3606 uid=10025 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:mqs_service:s0 tclass=service_manager permissive=0
07-13 18:21:26.686 3606-3621/? E/MQSEventManagerDelegate: failed to get MQSService.


       
       

@wkh237
Copy link
Owner

wkh237 commented Jul 13, 2017

Further to the informations, I suppose that's because your app does not have the permission to read file from the media.

java.lang.SecurityException: Permission Denial: reading 

@erhutime
Copy link
Author

OK,i will add it ,Just a minute,let me see see.

@erhutime
Copy link
Author

<uses-permission android:name="android.permission.ACCESS_ALL_DOWNLOADS"/> i add this code,not working.

@erhutime
Copy link
Author

`07-13 19:11:03.503 32690-2852/? E/DatabaseUtils: Writing exception to parcel
java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.provider.DownloadProvider uri content://downloads/all_downloads/515 from pid=27557, uid=10025 requires android.permission.ACCESS_ALL_DOWNLOADS, or grantUriPermission()
at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:616)
at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:483)
at android.content.ContentProvider$Transport.enforceFilePermission(ContentProvider.java:474)
at android.content.ContentProvider$Transport.openTypedAssetFile(ContentProvider.java:419)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:313)
at android.os.Binder.execTransact(Binder.java:565)

                                             --------- beginning of crash

07-13 19:11:03.506 27557-27573/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.google.android.packageinstaller, PID: 27557
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.provider.DownloadProvider uri content://downloads/all_downloads/515 from pid=27557, uid=10025 requires android.permission.ACCESS_ALL_DOWNLOADS, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1683)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:146)
at android.content.ContentProviderProxy.openTypedAssetFile(ContentProviderNative.java:692)
at android.content.ContentResolver.openTypedAssetFileDescriptor(ContentResolver.java:1160)
at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:997)
at android.content.ContentResolver.openInputStream(ContentResolver.java:717)
at com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:771)
at com.android.packageinstaller.PackageInstallerActivity$StagingAsyncTask.doInBackground(PackageInstallerActivity.java:762)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:761) 
07-13 19:11:03.515 27557-27557/? D/ActivityThreadInjector: clearCachedDrawables.
07-13 19:11:03.516 465-465/? E/SELinux: avc: denied { find } for service=miui.mqsas.MQSService pid=27557 uid=10025 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:mqs_service:s0 tclass=service_manager permissive=0
07-13 19:11:03.517 27557-27573/? E/MQSEventManagerDelegate: failed to get MQSService.`

@lzctbyong
Copy link

I have the issue too
how to solve it ?
this issue is casued mainly in Android 6.0 and 6.0+

@lzctbyong
Copy link

@erhutime do you solve it ?

@Mit0007
Copy link

Mit0007 commented Aug 14, 2017

i am getting this too,
do anyone solve this?

@ashwiniIot
Copy link

08-18 18:24:50.120 20210-20439/com.amazonaws.demo.userpreferencesom E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
Process: com.amazonaws.demo.userpreferencesom, PID: 20210
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMappingException: Expected S in value {M: {timestamp={N: 1503038636224,}, led2={S: ON,}},} when invoking public void com.amazonaws.demo.userpreferencesom.DynamoDBManager$Signal.setstatus(java.lang.String)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.unmarshallers.SUnmarshaller.typeCheck(SUnmarshaller.java:29)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.unmarshallers.StringUnmarshaller.typeCheck(StringUnmarshaller.java:24)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.unmarshallers.NullableUnmarshaller.typeCheck(NullableUnmarshaller.java:46)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.ConversionSchemas$StandardItemConverter.unmarshall(ConversionSchemas.java:568)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.ConversionSchemas$StandardItemConverter.setValue(ConversionSchemas.java:436)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.ConversionSchemas$StandardItemConverter.unconvert(ConversionSchemas.java:420)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.privateMarshallIntoObject(DynamoDBMapper.java:671)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.marshallIntoObjects(DynamoDBMapper.java:713)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.PaginatedScanList.(PaginatedScanList.java:74)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.scan(DynamoDBMapper.java:2085)
at com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBMapper.scan(DynamoDBMapper.java:2047)
at com.amazonaws.demo.userpreferencesom.DynamoDBManager.getSignalList(DynamoDBManager.java:144)
at com.amazonaws.demo.userpreferencesom.UserPreferenceDemoActivity$DynamoDBManagerTask.doInBackground(UserPreferenceDemoActivity.java:111)
at com.amazonaws.demo.userpreferencesom.UserPreferenceDemoActivity$DynamoDBManagerTask.doInBackground(UserPreferenceDemoActivity.java:89)
at android.os.AsyncTask$2.call(AsyncTask.java:295)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
at java.lang.Thread.run(Thread.java:818) 
08-18 18:24:54.374 20210-20

@ashwiniIot
Copy link

i have this error how to solve i stucked from last two days

@wolfjobs
Copy link

did anyone solve this problem?

@lbhsot
Copy link

lbhsot commented Nov 17, 2017

try this.

  let dirs = RNFetchBlob.fs.dirs
  let promise = RNFetchBlob.config({
    addAndroidDownloads: {
      useDownloadManager: true,
      title: 'xxx.apk',
      description: 'An APK that will be installed',
      mime: 'application/vnd.android.package-archive',
      mediaScannable: true,
      notification: true,
      path: dirs.DownloadDir + '/xxx.apk',
    },
  }).fetch('GET', 'http://server.m.pp.cn/download/apk?ch=smweb&ch_src=sm&appId=280001&custom=0&uc_param_str=frvecpeimintnidnut')

It's the path.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants