Titanium JIRA Archive
Appcelerator Community (AC)

[AC-4118] Error with permissions on Android 6

GitHub Issuen/a
TypeBug
Priorityn/a
StatusClosed
ResolutionNeeds more info
Resolution Date2016-07-27T17:30:51.000+0000
Affected Version/sAppcelerator Studio 4.5.0
Fix Version/sn/a
Componentsn/a
Labelsandroid-6, modules, permissions
ReporterAnna
AssigneeShak Hossain
Created2016-07-20T15:51:05.000+0000
Updated2016-07-27T17:30:51.000+0000

Description

Hello, I'm having this error on Android 6 permissions or modules, I don't know. I can't know what module or permission need the app because the libraries are form Titanium. This is my error:

[ERROR] :  linker: readlink('/proc/self/fd/22') failed: Permission denied [fd=22]
[INFO] :   TiApplication: (main) [0,0] checkpoint, app created.
[INFO] :   TiApplication: (main) [81,81] Titanium 5.4.0 (2016/04/25 22:10 63d6351)
[ERROR] :  linker: warning: unable to get realpath for the library "/system/lib/hw/gralloc.hi3635.so". Will use given name.
[ERROR] :  linker: readlink('/proc/self/fd/22') failed: Permission denied [fd=22]
[INFO] :   DatabaseHelper: No value in database for platform key: 'unique_machine_id' returning supplied default ''
[ERROR] :  linker: warning: unable to get realpath for the library "libion.so". Will use given name.
[ERROR] :  HAL: load: id=gralloc != hmi->id=gralloc
[INFO] :   DatabaseHelper: No value in database for platform key: 'hardware_machine_id' returning supplied default ''
[INFO] :   TiApplication: (main) [383,464] Titanium Javascript runtime: v8
[ERROR] :  linker: readlink('/proc/self/fd/26') failed: Permission denied [fd=26]
[ERROR] :  linker: warning: unable to get realpath for the library "/data/app/es.renr.manager-1/lib/arm/libstlport_shared.so". Will use given name.
[ERROR] :  linker: readlink('/proc/self/fd/26') failed: Permission denied [fd=26]
[ERROR] :  linker: warning: unable to get realpath for the library "/data/app/es.renr.manager-1/lib/arm/libkroll-v8.so". Will use given name.
[INFO] :   HwCust: Constructor found for class android.app.HwCustHwWallpaperManagerImpl
[INFO] :   TiRootActivity: (main) [0,0] checkpoint, on root activity create, savedInstanceState: null
[WARN] :   V8Object: (KrollRuntimeThread) [83,83] Runtime disposed, cannot set property 'userAgent'
[ERROR] :  linker: readlink('/proc/self/fd/26') failed: Permission denied [fd=26]
[ERROR] :  linker: warning: unable to get realpath for the library "/data/app/es.renr.manager-1/lib/arm/libti.sq.so". Will use given name.
[ERROR] :  TiApplication: (KrollRuntimeThread) [39,122] Sending event: exception on thread: KrollRuntimeThread msg:java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/es.renr.manager-1/lib/arm/libti.sq.so: has text relocations; Titanium 5.4.0,2016/04/25 22:10,63d6351
[ERROR] :  TiApplication: java.lang.UnsatisfiedLinkError: dlopen failed: /data/app/es.renr.manager-1/lib/arm/libti.sq.so: has text relocations
[ERROR] :  TiApplication: 	at java.lang.Runtime.loadLibrary(Runtime.java:384)
[ERROR] :  TiApplication: 	at java.lang.System.loadLibrary(System.java:1086)
[ERROR] :  TiApplication: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.loadExternalModules(V8Runtime.java:132)
[ERROR] :  TiApplication: 	at org.appcelerator.kroll.runtime.v8.V8Runtime.initRuntime(V8Runtime.java:99)
[ERROR] :  TiApplication: 	at org.appcelerator.kroll.KrollRuntime.doInit(KrollRuntime.java:205)
[ERROR] :  TiApplication: 	at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:114)
I'm cheking this permissions, but the error appear BEFORE this code is exectued:

exports.checkPermissions = function(){
	
	var permissionsToRequest = [];
	 
	// check WRITE_EXTERNAL_STORAGE permission
	var storagePermission = "android.permission.WRITE_EXTERNAL_STORAGE";
	var hasStoragePermission = Ti.Android.hasPermission(storagePermission);
	  
	if(!hasStoragePermission){
		permissionsToRequest.push(storagePermission);
	}
	  
	// check RECORD_AUDIO permission
	var audioPermission = "android.permission.RECORD_AUDIO";
	var hasAudioPermission = Ti.Android.hasPermission(audioPermission);
	  
	if(!hasAudioPermission){
		permissionsToRequest.push(audioPermission);
	}
	
	// check ACCESS_NETWORK_STATE permission
	var networkPermission = "android.permission.ACCESS_NETWORK_STATE";
	var hasNetworkPermission = Ti.Android.hasPermission(networkPermission);
	  
	if(!hasNetworkPermission){
		permissionsToRequest.push(networkPermission);
	}
	
	// check INTERNET permission
	var internetPermission = "android.permission.INTERNET";
	var hasInternetPermission = Ti.Android.hasPermission(internetPermission);
	  
	if(!hasInternetPermission){
		permissionsToRequest.push(internetPermission);
	}
	
	// check ACCESS_COARSE_LOCATION permission
	var locationPermission = "android.permission.ACCESS_COARSE_LOCATION";
	var hasLocationPermission = Ti.Android.hasPermission(locationPermission);
	  
	if(!hasLocationPermission){
		permissionsToRequest.push(locationPermission);
	}
	
	// check ACCESS_FINE_LOCATION permission
	var location2Permission = "android.permission.ACCESS_FINE_LOCATION";
	var hasLocation2Permission = Ti.Android.hasPermission(location2Permission);
	  
	if(!hasLocation2Permission){
		permissionsToRequest.push(location2Permission);
	}

	  
	// request permission
	Ti.Android.requestPermissions(permissionsToRequest, function(e) {
		if (e.success) {
			Ti.API.info("SUCCESS");
		} else {
			Ti.API.info("ERROR: " + e.error);
		}
	});
};

Comments

  1. Sharif AbuDarda 2016-07-20

    Hello, Can you follow the guide in here http://docs.appcelerator.com/platform/latest/#!/guide/Quick_Start_Guide_for_Android_APS_SDK and try to define the permissions in manifest of tiapp.xml file.

JSON Source