日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

can软件android,appcan-android

發布時間:2023/12/20 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 can软件android,appcan-android 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

appcan-android

appcan-android引擎

QQ交流群:173758265

生成引擎包步驟:

新建Android Studio工程Engine_AppCan

clone 引擎代碼到工程Engine_AppCan

git clone https://github.com/AppCanOpenSource/appcan-android.git

編輯工程根目錄下的settings.gradle,在下面添加一行:

include ':appcan-android:Engine'

按需修改引擎代碼

編輯appcan-android/en_baseEngineProject/androidEngine.xml里面的description信息,其他的不要改動

在Android Studio自帶的Terminal輸入

gradle buildEngine

編譯完成后,生成的引擎包在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

│ ├── x5

│?? └── system

├── generated

├── intermediates

├── outputs

│?? ├── engine

│?? ├── jar

│?? ├── aar

│?? ├── logs

│?? └── mapping

└── 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注解,混淆時會排除

提供給插件調用或不希望被混淆的,請添加@Keep注解,混淆時會排除

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'

已經適配到AndroidStudio3.5.0開發環境

?

后續更高的gradle版本,升級原理相同,本文檔更新不及時的話,開發者可以自行更新工程配置。但是gradle版本更新過高可能會導致引擎出包腳本使用的gradle插件不兼容,需要等待后續進行適配。目前經過完整測試的是可以適配到3.5.0。

在3.5.0遇到Gradle插件和腳本運行出錯,是因為工程中的AppCanGradle插件未做高版本的適配。有兩種方式解決:

1. 降級gradle

目前,本工程的默認配置為適配AS3.5.0,Gradle版本為5.4.1,AndroidGradle構建插件版本為3.5.0。如果開發者沒有升級AndroidStudio,按照以下操作降級:

修改Engine/gradle/wrapper/gradle-wrapper.properties,其中版本改為4.1;

修改build.gradle中的classpath 'org.appcan.gradle.plugins:appcan-gradle-plugin:2.3.1',其中2.3.1修改為2.2.4。

經過以上操作后,理論上可以編譯通過。不過還是建議升級AS。

2. 依賴新版AppCanGradle插件

修改Engine/gradle/wrapper/gradle-wrapper.properties,其中版本改為5.4.1;

修改Engine/build.gradle文件中。其中,repositories增加一個github的maven庫,dependencies中將原來的依賴本地的gradle插件改為依賴線上的,版本目前是2.3.1,可以在此倉庫關注更新 https://github.com/android-plugin/mvn-repo。修改部分參考下面:

buildscript {

repositories {

google()

jcenter()

maven {

url 'https://raw.githubusercontent.com/android-plugin/mvn-repo/master/'

}

}

dependencies {

classpath 'com.android.tools.build:gradle:3.5.0'

// classpath fileTree(dir: '../gradle-plugin', include: '*.jar')

classpath 'org.appcan.gradle.plugins:appcan-gradle-plugin:2.3.1'

}

}

dependencies中com.android.tools.build:gradle設置為3.0.1或更高版本之后,需要在所有的repositories中增加google(),否則會找不到Android新版的官方gradle相關插件庫而報錯;

若buildToolsVersion改為26或更高后,還會要求修改flavor的定義,如下修改即可:

//聲明flavorDimension

flavorDimensions "kernel"

productFlavors {

crosswalk {

dimension "kernel"

}

system {

dimension "kernel"

}

x5 {

dimension "kernel"

}

}

插件開發gradle依賴引擎配置

repositories中增加下面的maven地址:

repositories {

maven {

url 'https://raw.githubusercontent.com/android-plugin/mvn-repo/master/'

}

}

dependencies中增加依賴包。其中,版本號+號是指隨便獲取一個版本(不一定是最新版本)。如果要指定版本號,可以將+號改為4.0.0,或4.3.21等等。未來還會有更多版本。

dependencies {

implementation 'org.appcan:engine:+:systemRelease@aar'//依賴遠程引擎

}

總結

以上是生活随笔為你收集整理的can软件android,appcan-android的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。