Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

Problem

2019-04-15 10:17:34.573 10220-10225/com.example.app I/art: Do partial code cache collection, code=24KB, data=30KB
2019-04-15 10:17:34.573 10220-10225/com.example.app I/art: After code cache collection, code=24KB, data=30KB
2019-04-15 10:17:34.573 10220-10225/com.example.app I/art: Increasing code cache capacity to 128KB
2019-04-15 10:17:34.661 10220-10220/com.example.app D/AndroidRuntime: Shutting down VM
2019-04-15 10:17:34.683 10220-10231/? I/art: Starting a blocking GC HeapTrim
2019-04-15 10:17:34.692 10220-10227/? I/art: Debugger is no longer active
2019-04-15 10:17:34.692 10220-10227/? I/art: Starting a blocking GC Instrumentation

I have referred following answers

"AndroidRuntime: Shutting down VM" with nothing else

Logcat showing "Shutting down VM"

Getting this exception which forces the android app to crash on start

but none of them helped. The issue still remains the same.

Manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.app"
    android:hardwareAccelerated="false"
    android:versionCode="1"
    android:versionName="1.0">
    <uses-permission android:name="android.permission.READ_SYNC_STATS" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.GET_TOP_ACTIVITY_INFO" />
    <uses-permission
        android:name="android.permission.CAMERA"
        android:required="true" />
    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-feature android:name="android.hardware.camera2" />
    <application
        android:name=".sync.LogCreate"
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".activities.ForgotPasswordActivity"></activity>
        <activity
            android:name=".activities.Splashscreen"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activities.LoginActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan" />
        <activity
            android:name=".activities.MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="adjustPan" />
        <service android:name=".sync.FirebaseMessageService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name=".sync.FirebaseInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>
</manifest>

build.gradle(app)

dependencies {
    implementation files('libs/httpmime-4.3.6.jar')
    implementation files('libs/picasso-2.4.0.jar')
    implementation files('libs/pixlui-1-0-5.jar')
    implementation files('libs/AndroidNBioBSPJNI.jar')
    //noinspection GradleCompatible
    //Android Support Libraries
    implementation 'com.android.support:support-v4:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:cardview-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.otaliastudios:cameraview:1.5.1'
    //Firebase Services
    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-messaging:17.6.0'
    implementation 'com.google.firebase:firebase-ml-vision:19.0.3'
    implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2'
    //implementation 'com.google.android.gms:play-services:12.0.1'
    implementation 'com.mikhaellopez:circularimageview:3.0.2'
    implementation 'com.squareup:android-times-square:1.6.5@aar'
    implementation 'com.journeyapps:zxing-android-embedded:3.4.0'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.3@aar') {
        transitive = true;
    implementation 'com.squareup.okhttp3:okhttp:3.2.0'
    implementation 'com.akexorcist:localizationactivity:1.2.2'
    implementation 'gun0912.ted:tedpermission-rx2:2.1.1'
    // JSON response handling library
    implementation 'com.google.code.gson:gson:2.8.5'
apply plugin: 'com.google.gms.google-services'

Getting memoryHeap issue when adding.

implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2'

I even tried implementing the same libraries on a fresh and got no issues there.

Application.class

public class LogCreate extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            @Override
            public void uncaughtException(Thread t, Throwable e) {
                try {
                    String root = Environment.getExternalStorageDirectory().toString() + "/example";
                   FileWriter fw = new FileWriter(root + "/exception.txt", true);
                    PrintWriter pw = new PrintWriter(fw);
                    e.printStackTrace(pw);
                    Log.e("uncaughtException: ", "=" + e.getMessage());
                } catch (Exception e1) {
                    e1.printStackTrace();
        if (isExternalStorageWritable()) {
            String root = Environment.getExternalStorageDirectory().toString() + "/example";
            File logDirectory = new File(root + "/log");
            File logFile = new File(logDirectory, "logcat" + System.currentTimeMillis() + ".txt");
            // create log folder
            if (!logDirectory.exists()) {
                logDirectory.mkdir();
            // clear the previous logcat and then write the new one to the file
            try {
                Process process = Runtime.getRuntime().exec("logcat -c");
                process = Runtime.getRuntime().exec("logcat -f " + logFile);
            } catch (IOException e) {
                e.printStackTrace();
        } else if (isExternalStorageReadable()) {
            // only readable
        } else {
            // not accessible
    /*Checks if external storage is available for read and write */
    public boolean isExternalStorageWritable() {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state)) {
            return true;
        return false;
    /*Checks if external storage is available to at least read */
    public boolean isExternalStorageReadable() {
        String state = Environment.getExternalStorageState();
        if (Environment.MEDIA_MOUNTED.equals(state) ||
                Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
            return true;
        return false;

Any help would be great.

Thanks in advance

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.