What could have caused this API level change? - java

Image:
http://i.imgur.com/VhW7CcE.png
Not allowed to post inline due to low rep.
So today i tried to up a new version of my App to the PlayStore and was greeted with that error .*Shown in image.
Any ideas what could have caused it>?

Your new version supports only api 15-19 while your old version supported 19+. So what its saying is that if a user were to upgrade from API level 15-19 to an API level above 19, they would have to downgrade your app to version 4.0 which is not allowed.
Either make your new APK support 19+ aswell (ie support 15+ would work) or deactivate your old version and then publish the new version, being aware that anybody with API over 19 will not be able to update.
As for what is causing your API version to be 15-19, it is hard to say without seeing your manifest as well as you double checking that you set the APK settings correctly on upload.

Related

What can cause an android database to be recreated?

Over the last couple of years, I have been creating an app for a customer (also the reason that I unfortunately cannot share the code on here). The last version uploaded to the play store was targeted at API 25, and was published around July 2017.
I am currently testing a new update, and am finding that opening the database via the SQLiteOpenDatabase is causing the onCreate function to run. The data from the previous version of the app gets lost. I have installed the previous version of the app both via the play store and manually, but the upgrade is always performed directly from the new versions APK.
Data stored on intermediate development versions of the app doesn't get lost, but they all erase data from the currently released version.
The classes for managing the database haven't changed, and are using the same version code for the database. I have checked the certificates, and all versions have been signed with the same one.
Is anyone aware of other reasons that the database may be recreated? This is a serious issue, that is preventing the release of the application.

NoSuchMethodError: java.lang.Exception.addSuppressed : Updating from Java 1.6 to 1.7

I started using Java 1.7 and I'm still using Eclipse. In my Project I add extra data to the thrown exception, with handledException.addSuppressed(additionalException); and it was working so far.
But according to my crash reports, some old OS installed devices(Android 2.3.4) are crashing with StackTrace below. But it doesn't occur in my Nexus 5 which has Android 4.4.4.
java.lang.NoSuchMethodError: java.lang.Exception.addSuppressed
I'm not really sure if there is some additional steps needed to update it to Java 1.7.
handledException.addSuppressed was added only in API 19.
You should put if else loop surrounding this piece of code
Android 2.3 uses level 10 API.
addSupressed() was added in level 19. In the future, check what API level was being used during that time (2.3), then check the API to see if it was available during that API level

Domino nvapplet.jar Security Exception

I have a long standing domino application that uses embedded views to display data. This application has been moved from a server 2003, 32 bit, domino 8.5 environment to a new server 2008 R2 64 bit domino 8.5.3 FP6 environment.
I have everything up and working as before with the exception of embedded views. They are giving a SecurityException "Missing required Permissions manifest attribute in main jar: http://*.com/domjava/nvapplet.jar".
I have confirmed that the actionbar.jar, editor.jar, nvapplet.jar, and outline.jar are the current version on the server. I have even replaced them with the version from the IBM download (http://www-01.ibm.com/support/docview.wss?uid=swg21662233).
I can get this to work by displaying the view as HTML instead of Java Applet, but I don't understand what the issue is with the java version?
There were major security changes to Java in relation to applets. You can download the latest applets here.
http://www-01.ibm.com/support/docview.wss?uid=swg21662233
You may need to clear your browser cache if it still persists after that.
[update] The question now mentions that you installed Fixpack 6, installed the Jars then uninstalled Fixpack 6.
When you uninstall a fix pack, it reverts the files it touches back to what they were before the fix pack was installed. Although I have no details on it, it is quite likely that the updated security applets were also added to fix pack 6 (as it's the last fix pack for R8.5.3).
So during the uninstall the applets look the same as FP6 and it reverts them.
To solve this, after the revert you would need to drop in the updated applets again.
If the issue still persists at this point, you need to open the Java Console on your browser and update your question with the logs it generates (as it pertains to the error).
Turns out this situation may have been a little unique, but I will post it here for future reference in case anyone else runs into this. The server was a fresh build of windows and domino all the way up to 8.5.3 FP6. The FP6 installer date stamps the jars in question with the install date of the system. So in my case I had people come to the site, download the jar with a file date newer than 1/17/2014, which is the date of the files IBM put in the fix mentioned above. Those files are a simple flat copy so they always maintain the 1/17/2014 date. Anyway, any user that came and picked up the newer date files 3/1/2014 for example would keep those files or rev date in their local java machine cache and ignore the 1/17/2014 file I had replaced them with, thus they continued to show the problem. Only by manually clearing their cache from the java were they able to pick up the 1/17/2014 file and no longer have the issue.
Actually from what I was told via IBM FP 6, does not include the fixed .jars. That was my main problem assuming it did.

mediacodec ExtractMpegFramesTest example mismatch

I tried to run This example from bigflake and I think that there is a mismatch.
they write "ExtractMpegFramesTest.java (requires 4.1, API 16) " so the minimum API required is 16,
but I look over the code and they use "import android.opengl.EGL14;" which required minimum API 17.
Has anyone encountered this problem and succeeded to solve it?(succeeded to save 10 frames on Android 4.1 device)
I've updated the site to have two copies of the source file, one that uses EGL 1.0 and one that uses EGL 1.4. I did a quick test with the SDK, creating an app for API 16, to confirm that it's no longer using post-4.1 APIs. I haven't tried it on an actual device running 4.1 however.
You can use MediaMetadataRetriever.getFrameAtTime in order to extract frames from a video file. It's available since API level 10.

How to use CCRC to get old file versions?

I'm trying to use CCRC API in order to get, for instance, all versions for a specific file and get some old file version.
I've tried to use CHILD_LIST, CHILD_MAP, tried to use CcFile.getVersion().getPredecessor() and then use CcFile.doReadProperties(...) but it seems that the location is remote and then is not possible to get the file using for example getClientPath().
I already saw that is possible to retrieve all versions for a specific file using CCRC plugin and select a specific version clicking in the version three.
Does anybody have some example how to retrieve this version without setting the config spec ?
tks
Kleber
The CCRC CLI is not very complete in 7.X, and even the first 8.0.0.x.
rcleartool is completed with the latest 8.x releases, and included a rcleartool get which allows you to access any version you want.
See more details at "How to use CCRC to get prievous file version?".

Categories