Skip to content
forked from houstudio/cdroid

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.Mybe an other choice of emwin ,touchgfx,awtk. it is more frientdly for android developers.

License

Notifications You must be signed in to change notification settings

jnnycn007/cdroid

 
 

Repository files navigation

Introduction

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.

Features:

  • Multi Layer/Multi Window
  • Integrated with 50+ UI Components and 20+ Drawables(compatible with android)
  • All UI Components(Layouts,Drawables...)can be designed in AndroidStudio or Eclipse
  • Vector Graph supported via Cairo

Quick Start

  • VM(Ware):https://pan.baidu.com/s/1-v-rLcHxo5W5TXvJ2NUWxA fetchcode:spux (VM Ubuntu User:cdroid password:123456)
  • After login pls run git pull to get new version of cdroid
  • You'd better remove outXXX and run build.sh to rebuild makefiles after each git pull.

IDE(AndroidStudio/Eclipse)

IDE

ScreenShots

demo0 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 Pott

View TextView Button ImageView ImageButton
CompoundButton ToggleButton CheckBox RadioButton ProgressBar
SeekBar Chronometer AnalogClock ViewGroup RadioGroup
ScrollView ViewPager SimpleMonthView Switch RatingBar
NumberPicker ListView GridView RecyclerView ViewFlipper
ViewAnimator AdapterViewAnimator Calendarview SimpleMonthView Chronometer
ScrollView NestedScrollView HorizontalScrollView DateTimeView ViewPager2
YearPickerView WearableRecyclerView Toolbar QRCodeView

Supported Layouts:

FrameLayout LinearLayout RelativeLayout TableRow DrawerLayout
TableLayout AbsoluteLayout GridLayout GestureOverlayView CoordinatorLayout

Supported Drawables:

ColorDrawable BitmapDrawable NinepatchDrawable InsetDrawable
ShapeDrawable TransitionDrawable AnimatedVectorDrawable StateListDrawable
LevelListDrawable ClipDrawable AnimatedRotateDrawable RotateDrawable
GradientDrawable ScaleDrawable AnimatedImageDrawable VectorDrawable
RippleDrawable AnimationDrawable AnimatedStateListDrawable LayerDrawable

Porting guide:

  • 1 A new product porting should be placed to src/porting/xxx(where xxx is you chipset name)
  • 2 implement your porting api to xxx directory
  • 3 modify build.sh to support your port(you should configure sysroot toolchain...).
  • 4 call build.sh --product=xxx
  • 5 make you project(SeeAlso Building CDROID)

Building CDROID:

1.install dependencs:

sudo apt install autoconf libtool build-essential aapt cmake gdb pkg-config zip gettext libx11-dev libxcb1-dev libxcb-image0-dev bison python>=3.7 pip3-python python3-lxml meson

2.install vcpkg:

3. install cdroid supported toolchain's patch

  • cp cdroid/script/vcpkgpatch4cdroid.tar.gz vcpkg/
  • cd vcpkg
  • tar -zxvf vcpkgpatch4cdroid.tar.gz

4.install cdroid deplibs:

  • ./cdroid_install_libs.sh --triplet=x64-linux-dynamic

5.download cdroid source code:

6.build cdroid:

  • cd cdroid
  • ./build.sh --build=debug
  • cd outX64-Debug
  • make -j

7.prepare system and app resource

The cdroid.pak and yourapp's pak must be in your working directory

  • cp src/gui/cdroid.pak ./
  • cp apps/appname/appname.pak ./

8.run samples(in directory outX64-Debug)

  • apps/samples/helloworld
  • apps/uidemo1/uidemo1

About

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.Mybe an other choice of emwin ,touchgfx,awtk. it is more frientdly for android developers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 66.7%
  • C 32.0%
  • CMake 0.9%
  • Makefile 0.2%
  • Python 0.2%
  • Shell 0.0%