Scirra / Construct-bugs

Public bug report submissions for Construct 3 and Construct Animate. Please read the guidelines then click the 'Issues' tab to get started.
https://www.construct.net
107 stars 83 forks source link

[r29.2] APK not installed when doing a release build #290

Closed glerikud closed 7 years ago

glerikud commented 7 years ago

Problem description

I just did a quick testing for the APK build service with one of my older projects and while the debug build installs and work just as intended, the release build gives me the "APP not installed." error when I try to install it.

I tested it on 2 Android devices:

Attach a .c3p

Here's a zip file containing the project and the built release APK file: https://www.dropbox.com/s/cvpu5au98tctp7p/raktari_rend_c3_bug.zip?dl=0

Steps to reproduce

  1. Open the project and export it for Cordova (Deduplicate images, Recompress images, Minify script all set to true) for Android 5+ (all checkboxes are false in that window).
  2. Build the project for release.
  3. Try to install the APK file.

Observed result

The Android device won't install the APK file with the warning: "APP not installed.".

Expected result

The Android device should install the application just like it does then the user builds with the debug release option.

Affected browsers

System details

View details Platform information Browser: Chrome Browser version: 58.0.3029.110 Browser engine: Blink Browser architecture: 64-bit Context: webapp Operating system: Windows Operating system version: 10 Operating system architecture: 64-bit Device type: desktop Device pixel ratio: 1 Logical CPU cores: 4 User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 C3 release: r29.2 Local storage Storage quota (approx): 15 gb Storage usage (approx): 116 mb (0.8%) Persistant storage: Yes Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported. WebGL 2+ is not supported. Rendering quality and features may be affected. CSS element() is not supported. Backdrop filters are not supported. Some UI effects are disabled. WebGL information Version string: WebGL 1.0 (OpenGL ES 2.0 Chromium) Numeric version: 1 Supports NPOT textures: partial Vendor: Google Inc. Renderer: ANGLE (Intel(R) HD Graphics 4000 Direct3D9Ex vs_3_0 ps_3_0) Major performance caveat: no Maximum texture size: 8192 Point size range: 1 to 256 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_frag_depth EXT_shader_texture_lod EXT_texture_filter_anisotropic WEBKIT_EXT_texture_filter_anisotropic OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_compressed_texture_s3tc WEBKIT_WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBKIT_WEBGL_depth_texture WEBGL_lose_context WEBKIT_WEBGL_lose_context Audio information System sample rate: 192000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats: Ogg Opus (audio/ogg; codecs=opus) WebM Opus (audio/webm; codecs=opus) Ogg Vorbis (audio/ogg; codecs=vorbis) WebM Vorbis (audio/webm; codecs=vorbis) MPEG-4 AAC (audio/mp4; codecs=mp4a.40.5) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav; codecs=1) Supported encode formats: WebM Opus (audio/webm; codecs=opus) Video information Supported decode formats: WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8) Ogg Theora (video/ogg; codecs=theora) H.264 (video/mp4; codecs=avc1.42E01E) Supported encode formats: WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8)
shortercode commented 7 years ago

Release builds need to be signed to be installed on a device. We use the android naming conventions for builds. Unless your actually publishing the build use debug

On 20 May 2017 12:06 pm, "glerikud" notifications@github.com wrote:

Problem description

I just did a quick testing for the APK build service with one of my older projects and while the debug build installs and work just as intended, the release build gives me the "APP not installed." error when I try to install it.

I tested it on 2 Android devices:

  • Lenovo IdeaPad 3 (Android 6, ARM)
  • Asus ZenFone 2 (Android 5, x86)

Attach a .c3p

Here's a zip file containing the project and the built release APK file: https://www.dropbox.com/s/cvpu5au98tctp7p/raktari_rend_c3_bug.zip?dl=0 Steps to reproduce

  1. Open the project and export it for Cordova (Deduplicate images, Recompress images, Minify script all set to true) for Android 5+ (all checkboxes are false in that window).
  2. Build the project for release.
  3. Try to install the APK file.

Observed result

The Android device won't install the APK file with the warning: "APP not installed.". Expected result

The Android device should install the application just like it does then the user builds with the debug release option. Affected browsers

  • Chrome: yes

System details View details

Platform information Browser: Chrome Browser version: 58.0.3029.110 Browser engine: Blink Browser architecture: 64-bit Context: webapp Operating system: Windows Operating system version: 10 Operating system architecture: 64-bit Device type: desktop Device pixel ratio: 1 Logical CPU cores: 4 User agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 C3 release: r29.2

Local storage Storage quota (approx): 15 gb Storage usage (approx): 116 mb (0.8%) Persistant storage: Yes

Browser support notes This list contains missing features that are not required, but could improve performance or user experience if supported.

WebGL 2+ is not supported. Rendering quality and features may be affected. CSS element() is not supported. Backdrop filters are not supported. Some UI effects are disabled. WebGL information Version string: WebGL 1.0 (OpenGL ES 2.0 Chromium) Numeric version: 1 Supports NPOT textures: partial Vendor: Google Inc. Renderer: ANGLE (Intel(R) HD Graphics 4000 Direct3D9Ex vs_3_0 ps_3_0) Major performance caveat: no Maximum texture size: 8192 Point size range: 1 to 256 Extensions:

ANGLE_instanced_arrays EXT_blend_minmax EXT_frag_depth EXT_shader_texture_lod EXT_texture_filter_anisotropic WEBKIT_EXT_texture_filter_anisotropic OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_compressed_texture_s3tc WEBKIT_WEBGL_compressed_texture_s3tc WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBKIT_WEBGL_depth_texture WEBGL_lose_context WEBKIT_WEBGL_lose_context Audio information System sample rate: 192000 Hz Output channels: 2 Output interpretation: speakers Supported decode formats:

Ogg Opus (audio/ogg; codecs=opus) WebM Opus (audio/webm; codecs=opus) Ogg Vorbis (audio/ogg; codecs=vorbis) WebM Vorbis (audio/webm; codecs=vorbis) MPEG-4 AAC (audio/mp4; codecs=mp4a.40.5) MP3 (audio/mpeg) FLAC (audio/flac) PCM WAV (audio/wav; codecs=1) Supported encode formats:

WebM Opus (audio/webm; codecs=opus) Video information Supported decode formats:

WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8) Ogg Theora (video/ogg; codecs=theora) H.264 (video/mp4; codecs=avc1.42E01E) Supported encode formats:

WebM VP9 (video/webm; codecs=vp9) WebM VP8 (video/webm; codecs=vp8)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Scirra/Construct-3-bugs/issues/290, or mute the thread https://github.com/notifications/unsubscribe-auth/AIoe2e_cTvRauUUZ1DWgOFOLaBn7TpeMks5r7skygaJpZM4NhRC7 .

glerikud commented 7 years ago

Thanks for clearing that out. Then my question is: Will Scirra provide an online signing method or a detailed tutorial on the topic? Using the APK Signer application is not that hard, but I can imagine this process will pose many issues for beginners if not supported/documented well.

jaydonteh commented 7 years ago

I would not want to have Scirra host my Keystore to be honest. Besides, I don't think it's viable to ask Scirra to store anything on their server due to extra cost and neither do they want us to hold them accountable for missing or stolen Keystores. And yes I do know other services like Ludei does it but still.... would just sign at my own discretion for obvious reasons.

glerikud commented 7 years ago

Hmm, valid points there. Then the only thing missing is a detailed documentation on signing the apks for beginners.

shortercode commented 7 years ago

We're still discussing the options internally for signing app packages. One of the reasons that you can only produce projects for iOS currently is the complexity and security implications of dealing with a user keystore and application certificates.

I think it's safe the say that you can expect to see at least a tutorial on how to sign an APK and the practical differences between the debug and release options at some point in the future.

Until then:

glerikud commented 7 years ago

Thank you for informing me. Then I'd like to suggest a few things regarding the future tutorial:

shortercode commented 7 years ago

@glerikud I'm hoping I'll get a change to spruce up the UI around the exporter, it's rather umm... workman like at the moment. I would expect that a help button will find it's way onto that dialog as well.

Someone I was talking to on the forums also mentioned that tool, I haven't reviewed it yet as I'd got the command line signing working quite well for me. It looks quite promising.

In my experience getting it to work from the official guides can sometimes be a bit hit and miss, Google's documentation often seems to skip a few steps in my experience...