{ "id": "91981", "key": "TIMOB-9170", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13403", "description": "Sprint 2012-11 Core", "name": "Sprint 2012-11 Core", "archived": true, "released": true, "releaseDate": "2012-06-03" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-06-07T12:02:41.000+0000", "created": "2012-05-18T06:52:47.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "core", "look1", "qe-port" ], "versions": [ { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [ { "id": "17805", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "93255", "key": "TIMOB-9554", "fields": { "summary": "Android : v8 , x86 - Attempting to launch the android x86 emulator from the command line fails to launch the emulator", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "19047", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "97722", "key": "TIMOB-10063", "fields": { "summary": "Android: Errors while launching an Android emulator with an ABI parameter", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "17314", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "91982", "key": "TISTUD-1678", "fields": { "summary": "Android: allow users to launch x86 emulator", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-16T22:05:37.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h2. Problem\r\n\r\nCurrently developers familiar with how to using Android's command line tooling can run Titanium-built APKs against Android new x86 emulator, so long as those APKs were built to run against the Rhino runtime. If the apps are built to run against the V8 runtime, they fail with the following errors from logcat indicating issues with missing stlport libraries. If necessary I can recreate these logs, but they should occur anytime you run a Titanium-built android app using V8 on the Android x86 emulator.\r\n\r\nh2. Proposed Solution\r\n\r\nThe way I understand it is that V8 is compiled with the Android NDK. All code compiled with the Android NDK is architecture-specific, and to this point it has only been built for ARM architectures. I'm sure I'm oversimplifying, but a build of V8 against the x86 architecture would likely make it possible for V8-driven Titanium Android apps to be run on the Android x86 emulator.", "attachment": [], "flagged": false, "summary": "Android: run V8 against x86 emulator", "creator": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Host OS: Windows, Mac OSX, Linux\r\nAndroid toolkit r17+", "comment": { "comments": [ { "id": "196093", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Notes on x86 limitations:\r\n\r\n* x86 emulators do not support google APIs. In particular this means the android manifest cannot reference maps, and any applications which use maps will crash/not work in the x86 emulator.\r\n* x86 only works with android SDK r10 (2.3.3) and SDK r15 (4.0.3). Those emulators have to be installed separately from ARM emulators.\r\n* x86 may have launch errors involving HAXM (intel hardware acceleration) on some platforms. This is a known issue and Google/Intel are apparently working on fixing it.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-25T09:05:05.000+0000", "updated": "2012-05-25T10:16:09.000+0000" }, { "id": "196925", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "h4. TESTING\r\n----\r\n\r\nBefore testing, make sure that you have both of the currently available x86 emulators installed (currently available for API r15 and r10). They can be retrieved through the android package management tool. For testing to provide the correct results you *must* install both currently available x86 emulators.\r\n\r\nh3. Testing TiStudio\r\n\r\n*NOTE:* These steps are for Studio 2.0.2. Studio will eventually add ABI selection support and then testing will change significantly.\r\n\r\nStep 1.\r\n\r\n# Create a new app\r\n# Go to Run -> Run Configurations ...\r\n# Select \"Titanium Android Emulator\"\r\n# Select an API level which is NOT an x86 system image\r\n# Click \"Run\"\r\n\r\nPASS: App runs\r\nFAIL: Any other result\r\n\r\nStep 2.\r\n\r\n# Go to Run -> Run Configurations ...\r\n# Select \"Titanium Android Emulator\"\r\n# Select an API level which IS an x86 system image (currently only \"Intel Atom x86 System Image Android 2.3.3\")\r\n# Click \"Run\"\r\n\r\nPASS: App runs\r\nFAIL: Any other result\r\n\r\nh3. Testing avd detection\r\n\r\nRun the following, where {{$TITANIUM_SDK}} is the directory where your 2.1.0 SDK is installed, and {{$ANDROID_SDK}} is the directory where the Android SDK is installed\r\n\r\n{code}\r\n$TITANIUM_SDK/android/avd.py $ANDROID_SDK\r\n{code}\r\n\r\nYou should see the following information in the output:\r\n\r\n* Every listed device will have an \"abis\" property, which is an array of the supported ABI levels; only the AVD associated with \"4.0.3\" is expected to have more than one value ({{[armeabi-v7a, x86]}}.\r\n\r\nh3. Testing build scripts\r\n\r\n{{$TITANIUM_SDK}} and {{$ANDROID_SDK}} are as above. You should run this command from the directory which contains the app, which has the name {{$APP_NAME}} and ID {{$APP_ID}}. {{$EMU_ID}} should be the emulator ID for an emulator which supports more than one ABI.\r\n\r\n{code}\r\n> $TITANIUM_SDK/android/builder.py simulator $APP_NAME $ANDROID_SDK `pwd` $APP_ID $EMU_ID \"HVGA\" x86 \"\"\r\n{code}\r\n\r\nPASS: The x86 emulator for 4.0.3 launches, and the app runs in it.\r\nFAIL: Any other result.\r\n\r\nYou should then also test the other available ABI (likely {{armeabi-v7a}}):\r\n\r\n{code}\r\n> $TITANIUM_SDK/android/builder.py simulator $APP_NAME $ANDROID_SDK `pwd` $APP_ID $EMU_ID \"HVGA\" armeabi-v7a \"\"\r\n{code}\r\n\r\nPASS: The x86 emulator for 4.0.3 launches, and the app runs in it.\r\nFAIL: Any other result.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-01T17:09:12.000+0000", "updated": "2012-06-01T17:09:12.000+0000" }, { "id": "413266", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-16T22:05:37.000+0000", "updated": "2017-03-16T22:05:37.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }