Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crashes on startup in apk but is working on emulator #33

Closed
yofu1234 opened this issue May 4, 2017 · 9 comments
Closed

crashes on startup in apk but is working on emulator #33

yofu1234 opened this issue May 4, 2017 · 9 comments

Comments

@yofu1234
Copy link

yofu1234 commented May 4, 2017

I used

if (!Once.beenDone(Once.THIS_APP_INSTALL, showAppTour)) { ... Once.markDone(showAppTour); }

and it works fine in release build on the emulator but when I compile it into an apk, it crashes on startup.

Is their a proguard line of code that Once needs?

@jonfinerty
Copy link
Owner

Hi,

Once shouldn't need any proguard configuration, as it doesn't use reflexion or similar things. Do you have the stacktrace for the crash and I can look into this? Are you sure you've called initialise before this code is executed?

@yofu1234
Copy link
Author

yofu1234 commented May 4, 2017

I called Once before the code is executed:

@Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(com.stackkedteam.feedshare.R.layout.activity_profile);
        Toolbar toolbar = (Toolbar) findViewById(com.stackkedteam.feedshare.R.id.toolbar);
        setSupportActionBar(toolbar);

        // Initialize Once Library
        Once.initialise(this);

And here is my Once code below:


// subscribe to all notification Once.
        String subscribeToAll = "subscribeToAll";
        if (!Once.beenDone(Once.THIS_APP_INSTALL, subscribeToAll)) {

            // Subscribe to "all"
            FirebaseMessaging.getInstance().subscribeToTopic("all");

            //Toast.makeText(this, "log: subscribed to all", Toast.LENGTH_LONG).show();
            Once.markDone(subscribeToAll);
        }

How do I get a stacktrace for something that only crashes on apk?

@jonfinerty
Copy link
Owner

You should be able to set debuggable to true in your release build in your build.gradle file:

release {
         debuggable true
}

Then inside Android Studio if you have the device your running it on connected then you should be able to see the crash in the logcat window. Unfortunately without a stacktrace there's not much I can do.

@jonfinerty
Copy link
Owner

Also you should probably initialise the library inside your application class, rather then every time the activity is created.

@yofu1234
Copy link
Author

yofu1234 commented May 4, 2017

Ok I put in debuggable true and got this stacktrace:

05-04 14:23:24.226 2257-4399/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4)
                                                                                              com.google.android.apps.gsa.shared.speech.a.g: Error reading from input stream
                                                                                                  at com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(SourceFile:342)
                                                                                                  at com.google.android.apps.gsa.staticplugins.recognizer.i.a$1.run(SourceFile:1367)
                                                                                                  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                                                                  at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                                                  at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)
                                                                                                  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)
                                                                                                  at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85)
                                                                                               Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space.
                                                                                                  at com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531)
                                                                                                  at com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555)
                                                                                                  at java.io.InputStream.read(InputStream.java:101)
                                                                                                  at com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362)
                                                                                                  at com.google.android.apps.gsa.speech.audio.ak$1.run(SourceFile:471)
                                                                                                  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
                                                                                                  at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                                                  at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66)
                                                                                                  at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)
                                                                                                  at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139)
                                                                                                  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) 
                                                                                                  at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85) 

@jonfinerty
Copy link
Owner

As far as I can see that doesn't look to be related to Once. Can you isolate the crash to a particular change? i.e. does removing a line of code that calls once fix this crash?

@yofu1234
Copy link
Author

yofu1234 commented May 4, 2017

Thanks! Turns out it was gradle not packing the apk right. I unistalled and repacked and it seems to be working now.

@yofu1234 yofu1234 closed this as completed May 4, 2017
@luongs3
Copy link

luongs3 commented Mar 20, 2018

@yofu1234 could you talk more about the solution ?
i got the same issue

@o-pooja-o
Copy link

@yofu1234 could you talk more about the solution ?
i got the same issue

did you find any solution?

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

No branches or pull requests

4 participants