We use Microsoft Visual Source Safe to share various software development projects among staff. On all developer computers project folders appear on the same driver letter, and the same path. Further this shares the company APK signed key.
We do not have our APK in the Google store. Instead we have a WEB API support site that provides a download of our APK, which can be triggered in-app when a new version of our APK is available.
Our in-app self upgrader works like...
Down to the question/problem. When I build subsequent new APK and push them, the tablets in the field do the upgrade just fine. When my co-worker pushes a kit, then Android will balk. The only recourse is to have the user manually uninstall the app, and reinstall from the new APK. If she then builds a new kit, it will auto-upgrade fine. But then next time I build an APK, the customer once again has to do the little fire drill.
I would think if we both target the same SDK and Android version, and that we both share the exact same signed key for building, then WHAT ELSE is Android looking at when it decides a new kit is not compatible enough for simplified upgrade?
We do not have our APK in the Google store. Instead we have a WEB API support site that provides a download of our APK, which can be triggered in-app when a new version of our APK is available.
Our in-app self upgrader works like...
B4X:
public Sub CurrentAPKDownloaded( rmc As RemoteMethodCall )
If Not( rmc.Success ) Then
Msgbox("Unable to download most current version at this time.","Update Failed")
Return
End If
Dim su As StringUtils
Dim rsp As String = rmc.Response.SubString2(1,rmc.Response.Length-1)
Dim bts() As Byte = su.DecodeBase64(rsp)
Dim APKFileName As String = "EljayDelivery.apk"
If File.Exists(File.DirDefaultExternal,APKFileName) Then
File.Delete(File.DirDefaultExternal,APKFileName)
End If
Dim out As OutputStream
out = File.OpenOutput(File.DirRootExternal,APKFileName,False)
out.WriteBytes(bts, 0, bts.length)
out.Close
Dim i As Intent
Dim apkPath As String = "file://" & File.Combine(File.DirRootExternal, APKFileName)
Log("Installing from: " & apkPath)
i.Initialize(i.ACTION_VIEW,apkPath )
i.SetType("application/vnd.android.package-archive")
StartActivity(i)
ExitApplication
End Sub
Down to the question/problem. When I build subsequent new APK and push them, the tablets in the field do the upgrade just fine. When my co-worker pushes a kit, then Android will balk. The only recourse is to have the user manually uninstall the app, and reinstall from the new APK. If she then builds a new kit, it will auto-upgrade fine. But then next time I build an APK, the customer once again has to do the little fire drill.
I would think if we both target the same SDK and Android version, and that we both share the exact same signed key for building, then WHAT ELSE is Android looking at when it decides a new kit is not compatible enough for simplified upgrade?