Permission to start activity denied while launching the app

I was facing the same issue and this is what solved my problem

  1. Download apk info from play store
  2. open apk info app and select your app
  3. check the activities mentioned in the list , pick out the activities that looks like,
    home, main, first etc…
  4. Try launching app using these activities

App can be launched from adb cmd prompt using
adb shell am start -n appname/activity name

My issues was that i was trying to launch an activity which was not the first one to launch the app.

i amm also facing this same issue, i have add add android:exported=“true” also.

Hi, I decompile the apk file and add android:exported=“true” in the AndroidManifest.xml, then recompile the apk file. Then install it in my mobile device(real device). when i try to open the app, the app pops up “stop working” error directly. Do you know the reason?

Hi Philippe,
I am trying to automate an UOBAM Thailand app, but i get error and the code which i am using works for similar app but for this app it is not able to createSession due to permission denial.
I have also send you the code which i am using.

package UOBPackageName;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.Activity;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.StartsActivity;

public class UOB2ndTest {

public static void main(String[] args) throws MalformedURLException {

	//Set the Desired Capabilities
	DesiredCapabilities caps = new DesiredCapabilities();
	caps.setCapability("deviceName", "My Phone");
	caps.setCapability("udid", "13f1d47a9904"); //Give Device ID of your mobile phone
	caps.setCapability("platformName", "Android");
	caps.setCapability("platformVersion", "7.0 NRD90M");
	caps.setCapability("appPackage", "com.uobam.premier");
	caps.setCapability("appActivity", "com.uobam.premier.main.MainActivity");
	caps.setCapability("noReset", "true");  

// caps.setCapability(“app”, “/data/app/com.uobam.premier-1/base.apk”);
caps.setCapability(“autoGrantPermissions”,“true”);

	AppiumDriver<MobileElement> driver = new AndroidDriver<MobileElement>(new URL("http://0.0.0.0:4723/wd/hub"), caps);	
	
	System.out.println("God, will have to wait for a minute now.");
	coolDelay(90000);
	System.out.println("God, waited for a minute now.");
	
	MobileElement el = driver.findElement(By.id("com.uobam.premier:id/btnAccept"));
	
	el.click();
	
	System.out.println("Probably clicked");

// driver.quit();

}

public static void coolDelay(int miliSec){

try {
		Thread.sleep(miliSec);	

	} 
catch (InterruptedException e) {
		// TODO Auto-generated catch block
			e.printStackTrace();
			}


			}

}

ERROR*
Exception in thread “main” org.openqa.selenium.WebDriverException: It is impossible to create a new session because ‘createSession’ which takes HttpClient, InputStream and long was not found or it is not accessible
Build info: version: ‘3.13.0’, revision: ‘2f0d292’, time: ‘2018-06-25T15:32:14.902Z’
System info: host: ‘LEE’, ip: ‘192.168.56.1’, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: ‘6.1’, java.version: ‘1.8.0_161’
Driver info: driver.version: AndroidDriver
at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:195)
at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:209)
at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:231)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)
at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130)
at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:84)
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:94)
at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:93)
at UOBPackageName.UOB2ndTest.main(UOB2ndTest.java:33)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at io.appium.java_client.remote.AppiumCommandExecutor$1.createSession(AppiumCommandExecutor.java:185)
… 13 more
Caused by: org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Cannot start the ‘com.uobam.premier’ application. Original error: Error executing adbExec. Original error: ‘Command ‘‘C:\Users\Harsh Tiwari\AppData\Local\Android\Sdk\platform-tools\adb.exe’ -P 5037 -s 13f1d47a9904 shell am start -W -n com.uobam.premier/com.uobam.premier.main.MainActivity -S’ exited with code 1’; Stderr: ‘java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.uobam.premier/.main.MainActivity } from null (pid=10140, uid=2000) not exported from uid 10228
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.startActivityAndWait(ActivityManagerNative.java:3251)
at com.android.commands.am.Am.runStart(Am.java:630)
at com.android.commands.am.Am.onRun(Am.java:388)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
at com.android.commands.am.Am.main(Am.java:121)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)’; Code: ‘1’
Build info: version: ‘3.13.0’, revision: ‘2f0d292’, time: ‘2018-06-25T15:32:14.902Z’
System info: host: ‘LEE’, ip: ‘192.168.56.1’, os.name: ‘Windows 7’, os.arch: ‘amd64’, os.version: ‘6.1’, java.version: ‘1.8.0_161’
Driver info: driver.version: AndroidDriver
remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Cannot start the ‘com.uobam.premier’ application. Original error: Error executing adbExec. Original error: ‘Command ‘‘C:\Users\Harsh Tiwari\AppData\Local\Android\Sdk\platform-tools\adb.exe’ -P 5037 -s 13f1d47a9904 shell am start -W -n com.uobam.premier/com.uobam.premier.main.MainActivity -S’ exited with code 1’; Stderr: ‘java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.uobam.premier/.main.MainActivity } from null (pid=10140, uid=2000) not exported from uid 10228
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.startActivityAndWait(ActivityManagerNative.java:3251)
at com.android.commands.am.Am.runStart(Am.java:630)
at com.android.commands.am.Am.onRun(Am.java:388)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
at com.android.commands.am.Am.main(Am.java:121)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:359)’; Code: ‘1’
at getResponseForW3CError (C:\Users\Harsh Tiwari\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:806:13)
at asyncHandler$ (C:\Users\Harsh Tiwari\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:361:37)
at tryCatch (C:\Users\Harsh Tiwari\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\Harsh Tiwari\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\Harsh Tiwari\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (C:\Users\Harsh Tiwari\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:37)
at
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$new$0(W3CHandshakeResponse.java:57)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$getResponseFunction$2(W3CHandshakeResponse.java:104)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)
… 18 more

Hi,

I’m facing the same permission issue while running my code for android app for testing purpose.

[W3C] Encountered internal error running command: Error: Cannot start the ‘com.oneassist’ application. Visit https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/activity-startup.md for troubleshooting. Original error: Error executing adbExec. Original error: ‘Command ‘C:\Users\mukul.jain\AppData\Local\Android\sdk\platform-tools\adb.exe -P 5037 -s emulator-5554 shell am start -W -n com.oneassist/com.oneassist.ui.activity.ViewPagerActivity -S’ exited with code 1’; Stderr: ‘java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.oneassist/.ui.activity.ViewPagerActivity } from null (pid=15609, uid=2000) not exported from uid 10083
[W3C] at android.os.Parcel.readException(Parcel.java:1683)
[W3C] at android.os.Parcel.readException(Parcel.java:1636)
[W3C] at android.app.ActivityManagerProxy.startActivityAndWait(ActivityManagerNative.java:3178)
[W3C] at com.android.commands.am.Am.runStart(Am.java:630)
[W3C] at com.android.commands.am.Am.onRun(Am.java:388)
[W3C] at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
[W3C] at com.android.commands.am.Am.main(Am.java:121)
[W3C] at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
[W3C] at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262)’;

Please suggest what needs to be done to fix this

1 Like

aapt dump badging “path of the apk” in the command prompt

And scroll from bottom and check the launchable activity and use that correct activity.

Hi Mukul, are you able to solve this issue?