• Breaking News

    Sunday, February 13, 2022

    Android Dev - Dreaded "Can't install APP NAME" from play store. Funny story if you have 5 minutes

    Android Dev - Dreaded "Can't install APP NAME" from play store. Funny story if you have 5 minutes


    Dreaded "Can't install APP NAME" from play store. Funny story if you have 5 minutes

    Posted: 12 Feb 2022 08:21 PM PST

    This is the craziest story I have of 5+ years of android app development so buckle up

    We got a support request from a customer that their Android 12 device (galaxy s22) wasn't able to install our app. They sent us a screenshot (attached to the bug).

    We asked them to clear play store cache. No luck. Same issue. Restart device. A bunch of other crap. No luck. We then acquired an s22 for ourselves and saw that the install also failed! We updated a whole bunch of dependencies, gradle, and agp from 4.x to 7. We released a new app on the play store. SUCCESS. We can install on our s22! Not sure what exactly did the trick. But some update did the trick.

    Contacted the user. Still not working for them!!! We call the customer and screenshare with them to diagnose the issue. Still no clues. No luck. Looking in settings > Applications shows no trace of our app. There is no "show hidden apps" toggle or anything.

    We are lost. Play store support doesn't understand the issue. Not really much help. I think it's just a bot we talked to.

    As a last resort we download an app called "Package Name Viewer 2.0" from the play store in an attempt to try to find our app floating around.

    OUR APP PACKAGE NAME EXISTS IN THE LIST! Holy crap. We're saved!

    The "Package Name Viewer 2.0" app will show a list of package names, launcher activity, and app icon, and a "Detail" button to take you to the App Info page of the app. We think. "Okay. App icon is blank. and launcher activity is null, but the package name matches" Let's click the details button and uninstall!" We click the details button in this random package viewer app and it takes us to the Play Store App Info page. All of the other apps open to the correct app. Only this random app instead opens the App Info page of play store. Hm. If only this app showed all package names AND had an package manager uninstall command button.

    Let's just find a new app that lets you see package names and see if they have an uninstall button. NO LUCK! Let's try to search for "uninstaller apps"? Yep. Apparently uninstaller apps exist on android who knew. Unfortunately none of them showed our app. Dang.

    Let's build our own uninstaller app!

    We create a sample "APP NAME uninstaller" app. It seems to work on our s22 device. We had some issues because you can't query for package names easily anymore starting in android ~11. But it seems to find the pcakage on our s22 and uninstalls the app. We send the app to the user. Screenshare with them. App not found! We cry a bit.

    Hm. Maybe our package finder is using the wrong apis. Let's decompile "Package Name Viewer 2.0" and see what they are doing. After some time hunting. We find and deobfuscate the code... OUR package finder code is IDENTICAL! We cry some more.

    Okay. We quit the "lets make an uninstaller" route. We are on the phone with the customer and we walk them through downloading Android Studio. Why Android Studio? We decide that we want to simply try to call adb shell pm uninstall com.appname.app
    but we didn't want to send the user random adb files since they weren't really tech people. They felt more comforatable downloading "official" android software.

    So get this...

    we send them a link to d.android.com/studio LMAO

    They had to figure out if they were intel or apple silicon lol (a fun way to burn another 20 minutes). Downloaded intel version. Hooked it up. Put phone in dev mode. Ran an empty compose activity just to make sure the phone <> computer could talk to each other. Cool. This is hours later now. But WE're SO CLOSE.

    Tell them to open terminal in AS, navigate to adb (terminal commands are no fun to spell out over the phone", we finally get to the last command.

    adb shell pm uninstall com.appname.app

    WAITING WAITING WAITING

    SUCCESS!

    The longest 3 seconds of my life.

    Go back to "Package Name Viewer 2.0" app. Package is gone. HOORAY. Go to play store. Find the app. Hit install, and it installs just fine. HOOORAY

    PHEW.

    Please. I beg of you. Please make the app list in settings show ALL applications. There's no reason why the "Package Name Viewer 2.0" app was somehow able to show a package name that the All Applications page was not able to.

    Please also update play store to be able to tell if the package exists and uninstall it.

    On the brighter side of things: The customer had fun and now has android studio installed and wants to try to learn development. So... good job I guess

    (also. the user left a rating. 1 star. "Great app"). Kill me.

    I didn't really know where to file this. This seems like a fixable problem on play store AND on the All Applications settings page. I guess upvote if you want to prevent someone else from having this issue.

    https://issuetracker.google.com/issues/219056213

    submitted by /u/leggo_tech
    [link] [comments]

    Best practices for notifying user of billing errors (or errors in general)

    Posted: 13 Feb 2022 08:40 AM PST

    Hello, I hope this doesn't break the "help me"/one-off questions rule... but I'm having a hard time finding information about this, and an even harder time implementing it into my app.

    Let me start by saying that I'm a noob dev. I've made an app, and the final thing I needed to do before launching is incorporate the billing library to enable a subscription purchase. The app is pretty much done (just some spit and polish left), and what little information I could find led me to believe that a dialogFragment would be the best way to notify the user that there's errors in billing. However, I can't seem to find a way to make it work properly.

    I'm using MVVM. I have 2 fragments that share information that the user enters via a sharedViewModel, does some calculations, and spits out answers (its a pretty niche calculator, I couldn't find one on the play store so decided to teach myself and make my own). The issue is that the billing library is in MainActivity. I can access the viewModel from MainActivity, but I cannot access it from override fun onBillingSetupFinished within the MainActivity (oddly enough I can read some values from here, but I cannot write to them. The app doesn't crash, but the code stops where I try to write to the viewModel and doesn't execute further within onBillingSetupFinished). My first thought was to write the error to the viewModel and have the fragment handle displaying the dialogFragment, but I can't write to the viewModel from onBillingSetupFinished. I've tried initiating the dialogFragment from onBillingSetupFinished and from MainActivity but I can't properly get it to display (likely me not knowing what I'm doing, not sure how to get the current view from onBillingSetupFinished). I can get the dialogFragment to work from the fragment, and pass arguments to it, but don't have access to the billing error from there. I'm not sure how to send the billing error to the fragment (tried functions to set variables in the viewModel and in the fragment itself, but I can't write to the viewmodel for some reason and I believe there's lifecycle issues with the fragment. When the user trys to use a premium feature, a dialog pops up saying you need premium, with a button to subscribe and a cancel button. (likely the fragment is paused or stopped while the dialog is open).

    So I guess my question is, what are best practices regarding showing errors to users? Is there an article or explanation that my google-fu missed? Is there a way to implement this simply, so that anywhere in my app that I encounter an error I can call the same class/method at any time to display an error? I would like this error-display functionality to work from anywhere in the app, not just this one fragment (that's why billing is in MainActivity, I may change how the user initiated a purchase later). I'm not looking for specific code answers, I just assume (due to being new) that I'm totally on the wrong track and I don't know what I don't know. I'm capable of doing the research and implementing a solution if I know what I'm supposed to do, but a high-level overview of what's recommended would be greatly appreciated. Thank you everyone for your time, this sub has been an amazing resource for me throughout my Android Dev journey. You're all truly awesome.

    edit: spelling and formatting

    submitted by /u/CatFartsRSmelly
    [link] [comments]

    Anyone else experiencing long review times right now?

    Posted: 13 Feb 2022 07:07 AM PST

    Over a week now with a production release and some store listing updates stuck in review. Usually it's a day or two max. Anyone else?

    submitted by /u/esreveReverse
    [link] [comments]

    How to set up donations inside my app?

    Posted: 13 Feb 2022 07:01 AM PST

    Donations to me of course. I read that Google possibly rejects apps that do this.

    Found this library called "Donations" that claims to do it. From what I can tell it's just the google in-app purchase but the user gets no reward.

    Also what is required in the Play Console to make it run? There are three types of digital purchases: Consumables, non-consumables, and subscriptions.

    Here're the library: https://github.com/SufficientlySecure/donations

    submitted by /u/HiDiNoWro
    [link] [comments]

    Disk image installation

    Posted: 13 Feb 2022 08:45 AM PST

    Manufacturer send me a new disk image file for media player we are testing. How do install it on the player successfully?

    submitted by /u/ATMGuy-1
    [link] [comments]

    Does the api version goes with android version?

    Posted: 13 Feb 2022 01:24 AM PST

    For example, can one develop an app with file picker(mediaStore query) for api 21 and it will work on android 11 without scooped Storage?

    submitted by /u/chkml
    [link] [comments]

    Google holds my payout because of GPBR_SVID, did you face the same issue before?

    Posted: 13 Feb 2022 05:01 AM PST

    Hi,

    My excuse if this post is not related to the programming.

    Today, I've opened my Google Play console, and I see a warning message that said: You have an issue with your payment account, your payout is on hold till you fix the issue.

    I've contacted the Google Payment team, and they ask me to submit the GPBR_SVID form :

    https://support.google.com/paymentscenter/contact/GPBR_SVID?hl=en

    I'm afraid if the request will fail, can I just remove Brazil from the countries in my account? This will fix the issue?

    Thank you.

    submitted by /u/Heromimox
    [link] [comments]

    I want to make a subscription gifting system

    Posted: 13 Feb 2022 02:43 AM PST

    I have an application. This mobile application has a monthly subscription system. Users subscribe normally, when they subscribe, mysql values ​​change to 1 on the server.

    In addition to this system, I want to make a subscription gifting system. A user will be able to gift a subscription to another user of their choice or to random 10-20 people. If the transaction is successful, I will change the value of the gifted user in mysql table to 1. I can use in-app purchases for this right? (not subscriptions system)

    Do Google Play or AppStore policies oppose subscription gifting? (I've read but I couldn't see any information about it, I want to be sure.)

    submitted by /u/ensutku
    [link] [comments]

    ZonedDateTime shows wrong date and time

    Posted: 13 Feb 2022 02:10 AM PST

    Hello,

    I've actually read a lot about this but I'm even more confused.

    Now I have a date. This date is in GMT format.

    2022-02-13T10:02:53.842000000 

    I can print the date with this code.

    LocalDateTime.parse(formattedDate) 

    In the country where I live, the timezone is GMT+3.

    LocalDateTime.parse(formattedDate).atZone(ZoneId.systemDefault()) 

    With this code I can print the date with my own time difference.

    2022-02-13T10:02:53.842+03:00[Europe/Istanbul] 

    Right now it's 13:02 on me. But it still shows 10:02 am. What I expected:

    2022-02-13T13:02:53.842000000+03:00[Europe/Istanbul] 

    How can I solve this problem? Thank you.

    submitted by /u/kaanfrt
    [link] [comments]

    Data Safety Form

    Posted: 12 Feb 2022 02:45 PM PST

    Short version: Several weeks ago, we contracted an alleged legal expert to review our app and provide all applicable responses assuring we correctly address the Data Safety Form.

    Unfortunately, we have reason to believe what the "expert' is trying to sell is generic responses that may have nothing to do with our app.

    As time is getting short to submit, does anyone know of a source for an honest evaluation? As indicated, we are willing to pay to get the task done right.

    submitted by /u/Xjvthrjc
    [link] [comments]

    Is it allowed for multiple play store developer accounts to be connected to one Admob account?

    Posted: 12 Feb 2022 10:11 PM PST

    Write better tests with the new testing guidance

    Posted: 11 Feb 2022 07:59 PM PST

    Advise needed ! offline db that syncs to production postgres db

    Posted: 12 Feb 2022 07:23 AM PST

    Hello, I am trying to make my mobile CRM app offline. My production DB is Postgres and I want to continue using RDBMS.

    Is there a mobile DB with built-in sync and conflict resolution service that would require minimal work on the app side and backend and provide millisecond latency?

    submitted by /u/alfredhitchkock
    [link] [comments]

    MVVM repository accessing Room database

    Posted: 12 Feb 2022 07:07 AM PST

    Hi. I am currently studying MVVM using Java and stuck on the repository part. The repository, if I correctly understood, should be the part where I need to access data source which in this case is Room. The singleton class for Room needs a context for the Room.databaseBuilder. What is the proper way to deal with this if ViewModel should not hold contexts?

    Thanks!

    submitted by /u/apprentice4ever
    [link] [comments]

    This is scaring me a little bit

    Posted: 11 Feb 2022 05:12 PM PST

    My app got recently suspended and in the suspension email I saw this:

    If your account is terminated, payments will cease and Google may recover the proceeds of any past sales and the cost of any associated fees (such as chargebacks and payment transaction fees) from you.

    So it means that the money that I gain through my app can be taken back by Google at any time?

    That's like if your employer said "I pay you 12$ per hour, but if you get fired then I take back all your paychecks"

    UPDATE: My app got suspended for trademark violation. It doesn't even show up in my account violations. :)

    submitted by /u/superbruh1970
    [link] [comments]

    Online Booking System in my App

    Posted: 12 Feb 2022 12:23 PM PST

    Hello, I want to use a booking system on my application. In fact I want to create for every user of mine a booking calendar. Now I have 2 opportunities.

    1. create an own booking system Is there any open source code you know about?

    2. Buy license from a company Do you know a startup friendly company?

    Thank you!

    submitted by /u/biggrabo
    [link] [comments]

    Proguard error

    Posted: 12 Feb 2022 02:06 PM PST

    I recentlly made a fluter up but when I try to build it I get an error

    " Default file proguard-android-optimize.txt should not be specified in this module. It can be specified in the base module instead."

    Any ideas?

    submitted by /u/ImpressionOld952
    [link] [comments]

    Android Compose Navigator Library by Roudikk

    Posted: 11 Feb 2022 08:31 PM PST

    Hello everyone, just wanted to share a library I been working on for Compose as an alternative to the Jetpack Compose Navigation Component.

    There are some things I don't like about the navigation component:

    • Pre declaring the entire navigation graph
    • Navigating using string paths
    • Result passing using LiveData
    • Checking the current navigation node isn't straight forward (For example for things like analytics)
    • Passing arguments to destinations
    • No animations without accompanist
    • No Bottom Sheet/Dialog destinations without accompanist

    That motivated me to create my own library to tackle navigation in compose, which also hopefully inspires others to create more compose navigation libraries.

    Features:

    • State Restoration
    • Nested Navigation
    • Deep Linking
    • Transition Animations
    • Launch Modes
    • Result passing made easy using Flows
    • UI Testing user flows made easy
    • Multiple BackStack strategies
    • Bottom Sheet and Dialog destinations
    • Previews friendly

    The main component of this library is the Navigator , it holds a StateFlow which represents the current navigation state, making it easy to collect in a Composable and animate the changes between the states using AnimatedContent

    Every navigation node in the app can be any of Screen, BottomSheet or Dialog each being an interface that you can implement, overriding the Composable Content function and optional options field for more control of BottomSheet and Dialog behaviors. All navigation nodes are parcelable so they can be saved and restored on state restoration (Using kotlin-parcelize plugin makes it easy to make them parcelable), this allows navigation nodes to just have the params as constructors arguments rather than explicitly saving/getting them from bundles.

    First, we need to declare a navigator in our app, multiple navigators can be used in the same NavHost, each having their own behavior (Single/Multi stack, nested, etc.) and their own key.

    Unlike nav component, there is no need to keep passing down the nav controller down any composable tree, instead you can find a navigator using findNavigator(key) or findDefaultNavigator() or findParentNavigator() from any navigation node, since the library uses CompositionLocals to provide the different navigators.

    NavContainer(key) can then be used to render the state of a navigator for a given key.

    More details and explanation is in the README on the github page.

    Compose Navigator Github Page

    submitted by /u/pampzy
    [link] [comments]

    Flutter or Android

    Posted: 12 Feb 2022 09:26 AM PST

    I Know java, I want to create MVP mobile app.

    If the mobile works fine in android, How difficult it is to create the same app in IOS? For example, sharing the same data like (users ...).

    The other solution is using cross platform, flutter (I don't know Dart language)

    What do you think?

    submitted by /u/findanusername
    [link] [comments]

    Using IDEA JDK and JRE for android studio

    Posted: 12 Feb 2022 07:55 AM PST

    Hey, so I have IDEA installed with the JDK and JRE associated, is it recommended to keep the IDEA and Android Studio's JRE (and/or JDK) seperate or can I use the one installed with IDEA. If the latter is possible, how would I go about doing that?

    submitted by /u/sapnu-pu-as
    [link] [comments]

    Google play console: visible address?

    Posted: 12 Feb 2022 01:45 AM PST

    Hi!

    I made an app in Flutter as a learning experience and started to look at the google play console to see how to publish an app as the fee is relativley cheap compared to Apples model. But when I looked on the sign up form I need to provide a contact address. I totally get why, BUT from my understanding that address will be publically available. As a hobby coder and someone who has some pressence online, I do not want that type of information to be publically available. What would you do in this scenario?

    submitted by /u/D1sabl3d
    [link] [comments]

    How easy is it to make an app to use Microsoft Word effectively as a report/assessment?

    Posted: 12 Feb 2022 05:04 AM PST

    Hi all,

    I may well be in the wrong subreddit here, although I'm happy for people to point me in the right direction.

    So in a nutshell, I'm a fire risk assessor and carry out fire risk assessments which in tail are roughly 40-page assessments that I complete at home following a visit to sites. This can be very very time-consuming and involves me writing up on a pc with Microsoft word.

    There is software out there to complete the fire risk assessment on a tablet on-site, but for myself as an only self-employed employee, I refuse to pay in the thousands for other people's software.

    Effectively, what I want is to be able to access my Word Template on a tablet, and it effectively becomes a fillable form, which when I click on next, it skips out the jargon and takes me instantly to the next section that's fillable, and allows me to mark a comment as an 'Action', the bottom of the report then creates a list of my actions, and I am able to input photos, etc.

    A very very simple thing, but I'm not familiar with creating a bit of software or app as much as I am with other pc bits and pieces.

    Maybe I am looking into this too much, but I've tried Macro Word Documents .docm but there's no apk's that seem to be able to run .docm files on Android and the macro's/legacy tools actually work.

    Like I said there's plenty of software, but it's well within the thousands of pounds and doesn't offer customization to the set questions when it comes to fire safety, doesn't allow for my own branding, etc.

    I have my own Word template, my questions, my branding that I love, and I don't want to lose.

    I just really want to streamline the writing-up process and be able to complete them on site.

    Any questions then please leave a comment! Thank you.

    submitted by /u/J7Joe
    [link] [comments]

    How can I reorder list after recyclerview is clicked?

    Posted: 12 Feb 2022 04:30 AM PST

    I have a food list with id, tite values ​​that continue as 0, 1, 2, 3... When the user clicks on this list, he goes to the detail page.

    My purpose is to write the foods that the user clicks, for example, an item with an id value of 100, in the 1st row. I want to rearrange it briefly. how can i do this

    For example apple (id 0), pear (id 1), onion (id 2)....... it goes on like this...... tomato (id number 100) When the user clicks on it, he will go to the detail page and see the information about the tomato. later, when he looks at this list, I want the tomato to be in the first place.

    View of list after clicking tomato item;

    tomato (id number 100), apple (id 0), pear (id 1), onion (id 2).......

    I want it just like this

    EDIT: ****

    I thought of implementing something like this; I thought about creating a different database and deleting the id of the current food and adding it again, but it couldn't, nothing changed? I don't know exactly where the problem is

    FoodsData foodsData = new FoodsData(); foodsData.setFoodId(foodID); reorderedFoodDao.deleteById(foodID); reorderedFoodDao.deleteData(foodsData); reorderedFoodDao.insertData(foodsData); reorderedFoodDao.update(foodsData); 

    Dao: @Dao public interface ReorderedFoodDao { @Insert(onConflict = OnConflictStrategy.IGNORE) void insertData(FoodsData foodsData); @Transaction @Query("SELECT * FROM FoodsData") List<FoodsData> getFoods(); @Query("DELETE FROM FoodsData WHERE foodId = :foodid") void deleteByUserId(int foodid); @Delete void deleteData(FoodsData foodsData); @Update(onConflict = OnConflictStrategy.REPLACE) void update(FoodsData... word); } 

    submitted by /u/emptyfiles
    [link] [comments]

    How to create food delivery app?

    Posted: 12 Feb 2022 05:31 PM PST

    I wanna create delivery app. Can you please explain me the steps. I don't know from where to start.

    I want to create app in Kotlin and jetpack compose. Is that okay ?

    App should be like any delivery app. Place order, cart, payment menu, map which shows delivery root.

    Even a small suggestion is highly appreciated. Because I don't know where to begin with. I have no experience in creating such a big app. But I still wanna go for it.

    submitted by /u/kev_coding
    [link] [comments]

    Zooming Webview to content - even if content is smaller... how?

    Posted: 11 Feb 2022 10:41 PM PST

    Hi,

    I have a strange obstacle :D I'm working on an app which is based on Webview. I need to have the content fill the screen, but sometimes content is smaller or larger than the screen.

    But simply

    webview.setUseWideViewPort(true);

    webview.setSupportZoom(true);

    webview.setLightTouchEnabled(true);

    webview.setLoadWithOverviewMode(true);

    is not enough. Mainly when content is larger, it fills the screen width, but when smaller, it doesn't.

    setInitialScale() is working, but i couldn't determine the content size in the webview, to calculate the scale...

    There would be good if i can zoom to height or width...

    Any help would be appreciated :)

    submitted by /u/colt2x
    [link] [comments]

    No comments:

    Post a Comment