Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

[Android] Unhandled exception at application startup #226

Closed
MartinRobins opened this issue Apr 28, 2017 · 8 comments
Closed

[Android] Unhandled exception at application startup #226

MartinRobins opened this issue Apr 28, 2017 · 8 comments

Comments

@MartinRobins
Copy link

MartinRobins commented Apr 28, 2017

Bug

Version Number of Plugin: 2.6.2
Compile using Android version: Use Latest Platform (Android 7.1 (Nougat))
Target Android version: Use Compile using SDK version
Device Tested On: Moto G4, Android 7.0 (build NPJ25.93-14)
Simulator Tested On: None

Expected Behavior

The application should start properly without errors when the plugin is installed and set up as per the instructions.

Actual Behavior

Upon starting the application, an unhandled Exception is raised when calling base.OnCreate(bundle) within MainActivity.OnCreate override:

Java.Lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setId(int)' on a null object reference

Steps to reproduce the Behavior

  • I added the plugin to a Xamarin.Forms (PCL) application along with the corresponding Android device application.
  • I updated the AndroidManifest.xml as per the "readme.txt"
  • I added the xml folder to the Resources folder
  • I added the file file_paths.xml to the xml folder
  • I ran the application on the device

I am also using Prism.Forms with Unity within the application if that makes any difference, though the application does not get as far as creating the App class.

MainActivity.OnCreate()

protected override void OnCreate(Android.OS.Bundle bundle) {

	TabLayoutResource = Resource.Layout.Tabbar;
	ToolbarResource = Resource.Layout.Toolbar;

	base.SetTheme(Resource.Style.MainTheme);

	base.OnCreate(bundle);
	//base.SetStatusBarColor(Color.Orange);

	global::Xamarin.Forms.Forms.Init(this, bundle);
	Acr.UserDialogs.UserDialogs.Init(this);
	LoadApplication(new App(new AndroidInitializer()));
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="com.mydomain.myapp">
	<application android:label="My application" android:icon="@drawable/icon">
		<provider android:name="android.support.v4.content.FileProvider" android:authorities="com.mydomain.myapp.fileprovider" android:exported="false" android:grantUriPermissions="true">
			<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"></meta-data>
		</provider>
	</application>
	<uses-feature android:name="android.hardware.camera" android:required="true" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
	<uses-sdk android:minSdkVersion="15" />
</manifest>

file_paths.xml

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
	<external-path name="my_images" path="Android/data/com.mydomain.myapp/files/Pictures" />
	<external-path name="my_movies" path="Android/data/com.mydomain.myapp/files/Movies" />
</paths>

I have found an article in the Xamarin forums indicating that the error is caused by the presence of any file within the Resources/xml folder. If I exclude this folder from the project then the application starts without issue leading me to believe that this is in fact the cause of the problem but there has been no reply within that forum post as to any workaround.

@pbielinski
Copy link

delete bin and obj folders on Android project and rebuild it

@MartinRobins
Copy link
Author

@pbielinski Thank you. That has indeed resolved the problem.

@id-farid
Copy link

thank you pbielinski
Deleting the "bin" and "obj" folders has solved my issue too. 😄

@jcmarcanotrias
Copy link

Super, the solution is that delete bin and obj folders. Thanks pbielinski

@dreDevOS
Copy link

delete the bin and object folder that solve problem 100%

@pellet
Copy link

pellet commented Nov 14, 2018

I think it's mandatory as a xamarin developer to have a 'nuke' script which deletes all the solutions bin and obj folders :)

@angelieri
Copy link

I think it's mandatory as a xamarin developer to have a 'nuke' script which deletes all the solutions bin and obj folders :)

I recomend https://github.com/madskristensen/CloseAllTabs

@ghost ghost mentioned this issue Dec 3, 2018
@AmirImam
Copy link

delete bin and obj folders on Android project and rebuild it

@pbielinski
Thank you, this solved my issue too

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

No branches or pull requests

8 participants