Giter Site home page Giter Site logo

ppbao / wordpress-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wordpress-mobile/wordpress-android

0.0 2.0 0.0 132.55 MB

WordPress for Android

Home Page: http://android.wordpress.org

License: GNU General Public License v2.0

PLpgSQL 1.02% Java 90.12% Python 0.28% Shell 0.01% HTML 4.16% CSS 0.30% XSLT 0.20% JavaScript 3.93%

wordpress-android's Introduction

WordPress for Android

Build Status

If you're just looking to install WordPress for Android, you can find it on Google Play. If you're a developer wanting to contribute, read on.

Build Instructions

The gradle build system will fetch all dependencies and generate files you need to build the project. You first need to generate the local.properties (replace YOUR_SDK_DIR with your actual android SDK directory) file and create the gradle.properties file. The easiest way is to copy our example:

$ echo "sdk.dir=YOUR_SDK_DIR" > local.properties
$ cp ./WordPress/gradle.properties-example ./WordPress/gradle.properties

Note: this is the default ./WordPress/gradle.properties file. If you want to use WordPress.com functions (login to a WordPress.com account, access the Reader and Stats for example), you'll have to get a WordPress.com OAuth2 ID and secret. Please read the OAuth2 Authentication section.

The previous command creates a libs/ directory and clones all dependencies needed by the main WordPress for Android project. You can now build, install and test the project:

$ ./gradlew assembleVanillaDebug # assemble the debug .apk
$ ./gradlew installVanillaDebug  # install the debug .apk if you have an
                                 # emulator or an Android device connected
$ ./gradlew cAT                  # assemble, install and run unit tests

You can use Android Studio by importing the project as a Gradle project.

Directory structure

|-- libs                    # dependencies used to build debug variants
|-- tools                   # script collection
`-- WordPress
    |-- build.gradle        # main build script
    |-- gradle.properties   # properties imported by the build script
    `-- src                 # android specific Java code
        |-- androidTest     # test assets, resources and code
        |-- main            #
        |   |-- assets      # main project assets
        |   |-- java        # main project java code
        |   `-- res         # main project resources
        |-- vanilla         # vanilla variant specific manifest
        `-- zbetagroup      # beta variant specific resources and manifest

OAuth2 Authentication

In order to use WordPress.com functions you will need a client ID and a client secret key. These details will be used to authenticate your application and verify that the API calls being made are valid. You can create an application or view details for your existing applications with our WordPress.com applications manager.

When creating your application, you should select "Native client" for the application type. The applications manager currently requires a "redirect URL", but this isn't used for mobile apps. Just use "https://localhost".

Once you've created your application in the applications manager, you'll need to edit the ./WordPress/gradle.properties file and change the WP.OAUTH.APP.ID and WP.OAUTH.APP.SECRET fields. Then you can compile and run the app on a device or an emulator and try to login with a WordPress.com account.

Read more about OAuth2 and the WordPress.com REST endpoint.

How we work

You can read more about Code Style Guidelines we adopted, and how we're organizing branches in our repository in the Contribution Guide.

Need help to build or hack?

Say hello on our Slack channel: #mobile.

Alternative Build Instructions

WordPress-Android can be compiled with Buck, an alternative to Gradle, that makes the build process much faster. Due to current Buck limitation, you need to bootstrap the project by running the following command:

$ ./tools/fetch_buck_dependencies.py extlibs

This command will fetch all dependencies (.aar and .jar) needed to build the project. Then you can run buck to build the apk:

$ buck build wpandroid

You can build, install and run the project if you have a device or an emulator connected by running the following:

$ buck install --run wpandroid

It's recommended to install watchman to take advantage of the Buck daemon: buckd.

FAQ

  • Q: I can't build/test/package the project because of a PermGen space error.
  • A: Create a build.properties file in the project root directory with the following: org.gradle.jvmargs=-XX:MaxPermSize=1024m.

License

WordPress for Android is an Open Source project covered by the GNU General Public License version 2. Note: code in the libs/ directory comes from external libraries, which might be covered by a different license compatible with the GPLv2.

wordpress-android's People

Contributors

nbradbury avatar maxme avatar roundhill avatar daniloercoli avatar tonyr59h avatar oguzkocer avatar aforcier avatar beaucollins avatar sendhil avatar willnorris avatar mjangda avatar jjoe64 avatar kwonye avatar aerych avatar lauszus avatar solinger10 avatar aagam-shah avatar fadils avatar jamesjhu avatar bummytime avatar anirudh24seven avatar astralbodies avatar davewhitley avatar marcoincalcaterra avatar koke avatar jasmussen avatar soulseekah avatar ddrboxman avatar bradfora avatar mjduijn avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.