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

feat(android): exclude x86/x86_64 in production builds by default #11466

Merged
merged 4 commits into from Feb 11, 2020

Conversation

jquick-axway
Copy link
Contributor

JIRA:
https://jira.appcelerator.org/browse/TIMOB-27752

Summary:

  • When doing a "production" build, Titanium should exclude x86 and x86_64 architectures from app by default.
  • You can override this behavior via <abi/> setting in "tiapp.xml".
  • This maintains the same behavior we had since Titanium 7.0.0.

Test:

  1. Build an app for Android depoyment type "development" or "test".
  2. Go to folder: ./build/android/app/build/outputs/apk/debug
  3. Unzip the APK file.
  4. Verify that you see the following unzipped sub-folders:
  • ./lib/armeabi-v7a
  • ./lib/arm64-v8a
  • ./lib/x86
  • ./lib/x86_64
  1. Build an Android "production" app.
  2. Unzip the APK.
  3. Verify that you see the following unzipped sub-folders:
  • ./lib/armeabi-v7a
  • ./lib/arm64-v8a
  1. Add the below <abi/> entry to the "tiapp.xml" file.
<ti:app xmlns:ti="http://ti.appcelerator.org">
	<android>
		<abi>armeabi-v7a,arm64-v8a,x86,x86_64</abi>
	</android>
</ti:app>
  1. Build an Android "production" app.
  2. Unzip the APK.
  3. Verify that you see the following unzipped sub-folders:
  • ./lib/armeabi-v7a
  • ./lib/arm64-v8a
  • ./lib/x86
  • ./lib/x86_64

@build
Copy link
Contributor

build commented Feb 7, 2020

Messages
📖

💾 Here's the generated SDK zipfile.

📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.
📖

✅ All tests are passing
Nice one! All 6550 tests are passing.
(There are 701 skipped tests not included in that total)

Generated by 🚫 dangerJS against 7a6f1b3

Copy link
Contributor

@garymathews garymathews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CR: PASS

@ssekhri
Copy link

ssekhri commented Feb 10, 2020

FR Passed.

  1. When performing a test/development build of a mobile project the apk generated includes all four architectures (arm64-v8a, armeabi-v7a, x86, x86_64)
  2. When performing a production build of a mobile project the apk generated has arm64-v8a, armeabi-v7a architectures.
  3. When performing a production build of a mobile project and including information for all 4 abi's in Tiapp.xml the apk generated includes all four architectures.
  4. When the mobile project uses any module that uses SDK prior to 9.0 then the test/development/production build for the mobile project excludes the x86_64 architecture. Also a warning message is logged in the build logs.

Verified on:
Mac OS: 10.15.1
SDK: 9.0.0.v20200207113704
Appc CLI: 7.1.2
JDK: 11.0.4
Node: 10.16.3

@garymathews garymathews merged commit c8f358d into tidev:master Feb 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants