Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 3.44 KB

BUILDING.md

File metadata and controls

73 lines (55 loc) · 3.44 KB

Building BCM

Basics

BCM uses Gradle to build the project and to maintain dependencies. However, you needn't install it yourself; the "gradle wrapper" gradlew, mentioned below, will do that for you.

Building BCM

The following steps should help you (re)build BCM from the command line.

  1. Checkout the BCM-Android project source with the command:

     git clone https://github.com/bcmapp/bcm-android.git
    
  2. Make sure you have the Android SDK installed.

  3. Ensure that the following packages are installed from the Android SDK manager:

    • Android SDK Build Tools (see buildToolsVersion in build.gradle)
    • SDK Platform (All API levels)
    • Android Support Repository
    • Google Repository
  4. Create a local.properties file at the root of your source checkout and add an sdk.dir entry to it. For example:

     sdk.dir=/Application/android-sdk-macosx
    
  5. Using Java 8

  6. Execute Gradle:

     ./gradlew build
    

Setting up a development environment

Android Studio is the recommended development environment.

  1. Install Android Studio.
  2. Open Android Studio. On a new installation, the Quickstart panel will appear. If you have open projects, close them using "File > Close Project" to see the Quickstart panel.
  3. From the Quickstart panel, choose "Configure" then "SDK Manager".
  4. In the SDK Tools tab of the SDK Manager, make sure that the "Android Support Repository" is installed, and that the latest "Android SDK build-tools" are installed. Click "OK" to return to the Quickstart panel.
  5. From the Quickstart panel, choose "Checkout from Version Control" then "git".
  6. Paste the URL for the im-android project when prompted (https://github.com/bcmapp/bcm-android.git).
  7. Android studio should detect the presence of a project file and ask you whether to open it. Click "yes".
  8. Default config options should be good enough.
  9. Project initialisation and build should proceed.

About BCM Project

├── app Application entry module, responsible for the initialization of the basic services and capabilities of the app
├── utility Application's basic tool library
├── common Application's common function logic, implementation of common components
├── chats Application chat and group chat interaction and function logic implementation
├── contacts Address book interaction, function logic implementation, and user data management for applications
├── login Application login logic implementation
├── me Interactive implementation of registe and login
├── netswitchy Agent support implementation(eg:ss,ssr,obsf4,socks5)
├── adhoc-client Networkless communication interaction and logic implementation
├── umeng offline push module
├── appsflyer
├── wallet Wallet interaction and function implementation
├── thirdpart
│   ├── bitcoin bitcoin sdk
│   ├── ethereum eth sdk
│   ├── fcm_analytics_plugin disable fcm analytics
│   ├── router Module function routing implementation
│   ├── signal-protocol signal protocol sdk for private chat