GithubHelp home page GithubHelp logo

zhou2015 / appcan-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from appcanopensource/appcan-android

0.0 2.0 0.0 82.99 MB

appcan-android

License: GNU Lesser General Public License v3.0

Java 65.55% CSS 2.36% HTML 6.34% JavaScript 25.51% MATLAB 0.24%

appcan-android's Introduction

appcan-android

appcan-android引擎

参考 http://newdocx.appcan.cn/

QQ交流群:173758265

生成引擎包步骤:

  1. 新建Android Studio工程Engine_AppCan

  2. clone 引擎代码到工程Engine_AppCan

    git clone https://github.com/AppCanOpenSource/appcan-android.git
  3. 编辑工程根目录下的settings.gradle,在下面添加一行:

    include ':appcan-android:Engine'
  4. 按需修改引擎代码

  5. 编辑appcan-android/en_baseEngineProject/androidEngine.xml里面的description信息,其他的不要改动

  6. 在Android Studio自带的Terminal输入

    gradle buildEngine
  7. 编译完成后,生成的引擎包在appcan-android/Engine/build/outputs/engine目录下

目录结构

├── Engine 
│   ├── Engine.iml
│   ├── build
│   ├── build.gradle
│   ├── libs  公用lib
│   ├── proguard.pro  混淆文件
│   ├── project.properties
│   └── src
├── LICENSE
├── README.md
├── appcan-android.iml
├── en_baseEngineProject
│   ├── WebkitCorePalm 
│   └── androidEngine.xml
└── gradle-plugin
    └── appcan-build-engine.jar

Engine:引擎工程,该工程的最终作用就是生成引擎的jar

当有除了java代码之外的改动,如添加图片资源,添加或修改布局文件,都需要同步改动到WebkitCorePalm(重要)

en_baseEngineProject/WebkitCorePalm:最终打包使用的工程,除了上面说的需要从Engine工程同步的内容,其他信息不要改动,

Engine/build:目录结构如下

├── appcan
│   ├── crosswalk
│   └── system
├── generated
├── intermediates
├── outputs
│   ├── engine
│   ├── jar
│   ├── aar 
│   └── logs
└── tmp

appcan:生成引擎时产生的临时文件

outputs/engine:引擎输出目录

outputs/jar:Enginemoudle编译出来的jar,以-un-proguard.jar结尾的为未混淆的jar,其他为混淆过的jar

outputs/aar:Enginemodule生成的aar

关于混淆

  • 混淆文件为:appcan-android/Engine/proguard.pro
  • 混淆只用于混淆Engine中的java文件 排除混淆

排除混淆

  • 提供给JS调用的接口,请在方法添加@AppCanAPI注解,混淆时会排除
  • 提供给插件调用或不希望被混淆的,请添加@Kepp注解,混淆时会排除

AppCan Gradle插件

一般情况下生成引擎只需要调用gradle buildEngine 就可以生成所有的引擎包,如果有其他需要可以调用其他的task。目前提供的task有:

  • build{Flavor}Engine:生成对应flavor的引擎

    如输出crosswalk引擎

    gradle buildCrosswalkEngine

    输出所有flavor的引擎

    gradle buildEngine
  • build{Flavor}JarTemp:生成对应flavor的jar,不进行混淆

    如输出crosswalk引擎的jar

    gradle buildCrosswalkJarTemp

    如果要输出所有flavor的jar

    gradle buildJarTemp
  • build{Flavor}Jar:生成对应flavor的jar,并且进行混淆

    如输出混淆过的crosswalk引擎jar

    gradle buildCrosswalkJar

    如果要输出所有flavor的jar

    gradle buildJar 
  • build{Flavor}Aar:生成对应flavor的aar

    如输出混淆过的System引擎aar

    gradle buildSystemAar

    如果要输出所有flavor的aar

    gradle buildAar 

    说明:生成aar需要将Engine目录下的build.gradle文件中的

    apply plugin: 'com.android.applicaiton'

    替换成

    apply plugin: 'com.android.library'

    并注释掉

    applicationId 'org.zywx.wbpalmstar.widgetone.uex'

appcan-android's People

Contributors

appcanopensource avatar fred-ye avatar leegq827 avatar pingping-jiang6141 avatar sandy1108 avatar

Watchers

 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.