App runs on Nexus 7, but fails on Samsung Galaxy S4 mini

This seems to be independent of whether i use Crosswalk or not. See the error:

Attaching to android
Forwarding debug port
Attaching to app.
Invalid CSS property name: -webkit-touch-callout
DEVICE READY FIRED AFTER 259 ms
Invalid CSS property value: manipulation
Invalid CSS property name: -webkit-touch-callout
Invalid CSS property name: text-size-adjust
Invalid CSS property name: font-smoothing
Invalid CSS property value: manipulation
Invalid CSS property name: text-size-adjust
Invalid CSS property name: -webkit-overflow-scrolling
Invalid CSS property name: will-change
Invalid CSS property name: -webkit-overflow-scrolling
Invalid CSS property name: will-change
Invalid CSS property value: -webkit-sticky
Invalid CSS property value: sticky
Invalid CSS property name: transform-origin
Invalid CSS property name: -webkit-overflow-scrolling
Invalid CSS property name: will-change
Invalid CSS property value: transform
Invalid CSS property value: transform, -webkit-transform
Invalid CSS property value: pan-y
Invalid CSS property value: pan-x
Invalid CSS property name: appearance
Invalid CSS property name: perspective
Invalid CSS property name: transform-style
Invalid CSS property name: transform-origin
Invalid CSS property name: backface-visibility
Invalid CSS property name: transform-origin
Invalid CSS property name: backface-visibility
Invalid CSS property name: transform-origin
Invalid CSS property name: animation-play-state
Invalid CSS property name: transform-origin
Invalid CSS property value: transform 280ms cubic-bezier(0.4, 0, 0.2, 1)
Invalid CSS property value: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1)
Invalid CSS property name: font-kerning
Invalid CSS property value: -webkit-sticky
Invalid CSS property value: sticky
Invalid CSS property value: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1)
Invalid CSS property value: transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1), -webkit-transform 500ms cubic-bezier(0.36, 0.66, 0.04, 1)
Invalid CSS property name: will-change
Invalid CSS property value: 0
Invalid CSS property value: manipulation
Invalid CSS property value: transform 300ms
Invalid CSS property value: transform 300ms, -webkit-transform 300ms
Invalid CSS property name: will-change
Invalid CSS property value: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms
Invalid CSS property value: background-color 300ms cubic-bezier(0.4, 0, 0.2, 1), transform 300ms, -webkit-transform 300ms
Invalid CSS property name: transform-origin
Invalid CSS property value: transform 150ms ease-in-out
Invalid CSS property value: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out
Invalid CSS property name: perspective
Invalid CSS property name: transform-style
Invalid CSS property name: transform-style
Invalid CSS property name: backface-visibility
Invalid CSS property name: transform-origin
Invalid CSS property value: transform 280ms cubic-bezier(0.4, 0, 0.2, 1)
Invalid CSS property value: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 280ms cubic-bezier(0.4, 0, 0.2, 1)
Invalid CSS property name: will-change
Invalid CSS property name: will-change
Invalid CSS property value: transform, background-color, border
Invalid CSS property value: transform, background-color, border, -webkit-transform
Invalid CSS property value: transform 120ms ease, background-color 120ms ease
Invalid CSS property value: transform 120ms ease, background-color 120ms ease, -webkit-transform 120ms ease
Invalid CSS property name: transform-origin
Invalid CSS property value: transform, background-color
Invalid CSS property value: transform, background-color, -webkit-transform
ComponentResolver is deprecated for dynamic compilation. Use ComponentFactoryResolver together with @NgModule/@Component.entryComponents or ANALYZE_FOR_ENTRY_COMPONENTS provider instead. For runtime compile only, you can also use Compiler.compileComponentSync/Async.
The PLATFORM_DIRECTIVES provider and CompilerConfig.platformDirectives is deprecated. Add the directives to an NgModule instead! (Directives: NgClass,NgFor,NgIf,NgTemplateOutlet,NgStyle,NgSwitch,NgSwitchCase,NgSwitchDefault,NgPlural,NgPluralCase,NgControlName,NgControlGroup,NgFormControl,NgModel,NgFormModel,NgForm,NgSelectOption,NgSelectMultipleOption,DefaultValueAccessor,NumberValueAccessor,CheckboxControlValueAccessor,SelectControlValueAccessor,SelectMultipleControlValueAccessor,RadioControlValueAccessor,NgControlStatus,RequiredValidator,MinLengthValidator,MaxLengthValidator,PatternValidator,Menu,MenuToggle,MenuClose,Backdrop,Badge,Button,Content,Scroll,InfiniteScroll,InfiniteScrollContent,Refresher,RefresherContent,Img,List,ListHeader,Item,ItemContent,ItemSliding,ItemOptions,Reorder,VirtualScroll,VirtualItem,VirtualHeader,VirtualFooter,Slides,Slide,SlideLazy,Tabs,Tab,Header,Footer,Toolbar,ToolbarTitle,ToolbarItem,Icon,Spinner,Searchbar,Segment,SegmentButton,Checkbox,RadioGroup,RadioButton,Range,Select,Option,DateTime,Toggle,TextArea,TextInput,Label,Nav,NavbarTemplate,Navbar,NavPush,NavPop,NavRouter,ShowWhen,HideWhen)
‹Start group›
EXCEPTION: TypeError: Converting circular structure to JSON
STACKTRACE:
TypeError: Converting circular structure to JSON
    at Object.stringify (native)
    at YtChart.ngOnInit (file:///android_asset/www/build/js/app.bundle.js:292:82)
    at AppView._View_GeneralInfoPage2.detectChangesInternal (GeneralInfoPage.ngfactory.js:740:76)
    at AppView.detectChanges (file:///android_asset/www/build/js/app.bundle.js:33427:14)
    at AppView.detectContentChildrenChanges (file:///android_asset/www/build/js/app.bundle.js:33445:19)
    at AppView._View_GeneralInfoPage0.detectChangesInternal (GeneralInfoPage.ngfactory.js:332:8)
    at AppView.detectChanges (file:///android_asset/www/build/js/app.bundle.js:33427:14)
    at AppView.detectViewChildrenChanges (file:///android_asset/www/build/js/app.bundle.js:33453:19)
    at AppView._View_GeneralInfoPage_Host0.detectChangesInternal (GeneralInfoPage.ngfactory.js:30:8)
    at AppView.detectChanges (file:///android_asset/www/build/js/app.bundle.js:33427:14)
‹End group›
undefined

Full code is here.

It seems ìonic run android only uses the nnormal debug apk, not the armv7 version. Hmm. How can I enforce its use? Command line options not found:

run <PLATFORM> [options] ......................  Run an Ionic project on a connected device
    [--livereload|-l]  ........................  Live reload app dev files from the device (beta)

    [--address]  ..............................  Use specific address (livereload req.)

    [--port|-p]  ..............................  Dev server HTTP port (8100 default, livereload req.)

    [--livereload-port|-r]  ...................  Live Reload port (35729 default, livereload req.)

    [--consolelogs|-c]  .......................  Print app console logs to Ionic CLI (livereload req.)

    [--serverlogs|-s]  ........................  Print dev server logs to Ionic CLI (livereload req.)

    [--debug|--release]  ......................

    [--device|--emulator|--target=FOO]

Solution.

  • Delete the old Apk files in platforms/android/build/outputs/apk/, otherwise the launcher grabs the wrong one! The ionic run android will then report to take the platforms/android/build/outputs/apk/android-armv7-debug.apk

  • Note I had to uninstall the old app from the device manually due to Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

That’s not my case, the .apk used is still android-debug.apk for me. Is there any way to solve this issue?
I don’t have any problem with Ionic 1!

Did you use --release ?