5***@qq.com
5***@qq.com
  • 发布:2024-08-25 00:22
  • 更新:2024-09-02 12:33
  • 阅读:295

uts插件开发

分类:uts

目前有几个疑问,但是文档中没有找到说明。
1:安卓的build.gradle文件中有很多配置,在uts插件中仅列出了有限几个配置,剩余的配置是否是按照build.gradle中的配置格式和层级去写就行,还是要怎么写?例如需要在android{···}中加⼊查询路径:repositories{---},这个要怎么写,因为minSdkVersion在build.gradle中并非一级维度,所以不知道未列出的格式是怎样的。

2:假设三方sdk需要混肴,比如在proguard-rules.pro中需要配置-keep class **. { ;),在uts中应当放到哪个文件中写,怎么写。

3:如果三方SDK提供,需要进行授权,授权方式不是通过sdk提供的一个方法进行的授权方式,而是通过引入一个类,然后修改.java文件,再通过调用函数进行授权,这种方式怎么做,还是说使用这种授权方法的sdk,不能用uts插件去实现。

刚开始看,目前是这几个疑问,算是准备工作没法进行下去,哪位大大给解答一下?

2024-08-25 00:22 负责人:DCloud_Android_DQQ 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

1 config.json 仅支持文档中提及的配置项,其他文档中未提及的gradle配置项不支持。

因为UTS插件的配置只是 gradle 打包配置的部分子集。你上面提交的android/repositories 目前并没有对外开放配置。如果你有什么需求一定要通过这些配置实现,需要给出更具体的应用场景,我们进一步评审。

2 UTS插件本身不会开启混淆,三方sdk混淆配置其实也是提供给整个应用而不是某个插件的。

目前uni-app x应用本身 也没有开启混淆,三方sdk如果提供了混淆规则,可以不需要配置,忽略即可。

3 没理解你说的这种授权方式,需要更具体的说明。

  • 5***@qq.com (作者)

    是这样子的,现在要对接一个三方的SDK,通过使用aar文件的方式,他们那边列出的集成步骤。


    在将文件拷贝到libs目录下之后,需要打开主模块或集成模块的build.gradle⽂件,在android{···}中加⼊查询路径,repositories {flatDir {dirs 'libs'}}。


    在使用sdk的时候,三方要求是有一个授权文件,使用这个文件进行授权之后,才能正常使用sdk,提供的授权说明是:先将文件拷贝到assets或者指定文件目录,然后将一个类拷贝到项目中,接着修改一个java文件中的一个配置,最后调⽤静态⽅法checkLicense函数授权

    2024-08-25 13:50

  • 5***@qq.com (作者)

    哦,这个android/repositories是不是也是不需要配置,直接忽略就行,本身就会从libs中去查找依赖? 如果是的话,那就最后一个问题,就是那个上面描述的那个授权的,导入类,修改.java文件,并调用函数授权那个,我看文档上说是支持三种类型的文件,jar\aar\so三种,不支持java文件,如果要用的话,是要把java文件转为这三种类型的文件吗?感谢解答,java我不怎么懂

    2024-08-25 17:21

DCloud_Android_DQQ

DCloud_Android_DQQ

1 在android{···}中加⼊查询路径,repositories {flatDir {dirs 'libs'}}。

这一步不做处理。按照UTS插件的要求,放入libs目录就自动完成这件事情

2 android/repositories 这个要贴一下对方具体的要求,如果只是本地配置可以忽略。如果是远程仓库,需要确认是否在UTS内置的远程仓库名单中

https://doc.dcloud.net.cn/uni-app-x/plugin/uts-for-android.html#_3-5-%E8%BF%9C%E7%A8%8B%E4%BE%9D%E8%B5%96%E4%BB%93%E5%BA%93%E8%AF%B4%E6%98%8E

3 我还是没特别理解你说的这种集成方式。不过UTS是支持直接使用java文件的。

从HBuilder x 4.26版本开始支持混编
https://doc.dcloud.net.cn/uni-app-x/plugin/uts-plugin-hybrid.html

  • 5***@qq.com (作者)

    以下是对方要求:

    1、导入SDK,使用aar文件

    找到xxx-release.aar⽂件

    拷⻉其到项⽬中的主模块或集成模块的libs⽬录下,如拷⻉到app/libs/⽬录下,没有libs⽂件夹可⼿动创建

    打开主模块或集成模块的build.gradle⽂件,在android{···}中加⼊查询路径:

    repositories {flatDir {dirs 'libs'}}

    在主模块或集成模块的build.gradle的 dependencies 下加⼊ SDK 引⽤:

    将模型⽂件和素材⽂件拷⻉到项⽬主模块或集成模块的assets⽂件⽬录备⽤:

    implementation(name:'xxx-release',ext:'aar')

    *将授权⽂件License.lic拷⻉到项⽬主模块或集成模块的assets⽂件⽬录备⽤


    2、SDK混淆

    使⽤aar或源码依赖,需在项⽬主模块或集成模块的“proguard-rules.pro”⽂件中,添加SDK的混淆:

    -keep class com.xxx.xxx.
    { ;}

    -keep class com.xxx.xxx.model.
    { *;}


    3、SDK授权

    使⽤License⽂件授权之后,才能正常使⽤SDK。可以使⽤离线授权⽂件,也可使⽤在线服务器托管的授权⽂件。

    在线方式:

    将Sample中的LicenseUtils类拷⻉到项⽬中

    打开LicenseUtils.java⽂件,修改为在线授权:

    private static final boolean USING_SERVER_LICENSE = true;

    *调⽤静态⽅法checkLicense函数授权:

    public static boolean checkLicense(final Context context){

    if(USING_SERVER_LICENSE){

    return checkLicenseFromServer(context);

    }else{

    return checkLicenseFromLocal(context);

    }

    }


    以上是他们的要求

    2024-08-26 12:32

  • DCloud_Android_DQQ

    回复 5***@qq.com: 1 你只需要复制 assets 相关文件 2 你不需要管 3 你需要按照他们的要求操作

    2024-08-26 14:17

  • 5***@qq.com (作者)

    回复 DCloud_Android_DQQ: 对的,就是这个3,因为要引入他们的类,使用java文件,现在hbuilderx最新版是4.24,还不支持直接使用java文件吧,这种情况下不知道要怎么写,麻烦能不能给说一下,是直接引入接着按照他们的要求去操作,还是把这个模块打包成aar再引入?

    2024-08-27 10:20

  • DCloud_Android_DQQ

    回复 5***@qq.com: 看上去他们只是需要一个配置项变更而已。如果没有混编, 你也可以把这个java文件打成jar包 集成进入UTS插件试试

    2024-08-27 11:04

  • 5***@qq.com (作者)

    回复 DCloud_Android_DQQ: 再咨询一个报错,内容贴下面了,麻烦看下,感谢

    2024-09-02 12:35

  • 5***@qq.com (作者)

    回复 DCloud_Android_DQQ: 亲,麻烦看下下面那个发的报错是为啥呗

    2024-09-09 19:11

5***@qq.com

5***@qq.com (作者)

咨询一个报错:
目前仅仅是写了import * as stEffectsEngine from 'com.xxx.xxx';
然后一个打印:console.log(123, stEffectsEngine);
接着准备打个自定义包做调试工作,打包时报错了,ide版本:4.24 。vue版本:2。错误信息如下:

Appid: UNI**

错误解决方案

错误描述: uts插件编译失败
解决方案: 请根据编译错误修改插件相关代码后重新提交打包。或联系插件作者解决。
######################

Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/03 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/03 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/03 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: unexpected element (uri:\"\", local:\"extension-level\"). Expected elements are <{}codename>,<{}layoutlib>,<{}api-level>
Warning: unexpected element (uri:\"\", local:\"base-extension\"). Expected elements are <{}codename>,<{}layoutlib>,<{}api-level>
e: file://[PackagePath]/wgtRoot/UNI**/uni_modules/xf-sense/utssdk/app-android/src/index.kt:13:22 Packages cannot be imported
e: file://[PackagePath]/wgtRoot/UNI**/uni_modules/xf-sense/utssdk/app-android/src/index.kt:55:22 Unresolved reference: stEffectsEngine

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':uni_modules:xf-sense:compileReleaseKotlin'.

    A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
    Compilation error. See log for more details

  • Try:

    Run with --stacktrace option to get the stack trace.
    Run with --info or --debug option to get more log output.
    Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 55s
Error code = -5000
Error message:
UTS plugin @ utssdk xf-sense compile error!

要回复问题请先登录注册