wequick / Small

A small framework to split app into small parts
http://code.wequick.net/Small
Apache License 2.0
5.05k stars 1.11k forks source link

AS3.2新建Module命名规则不能有 ‘.’ 等特殊符号 #610

Open zhumj opened 5 years ago

zhumj commented 5 years ago

错误报告

你做了什么?

 AS3.2 新建Module,设置 Application/Library name 为 App.main, 此时 Module name 自动为 app.main

你期望的结果是什么?

 可以新建

实际结果是什么?

 无法按要求名称新建,提示 Iegal character '.' in Module name 'app.main'

Small环境

Compile-time

   gradle-small plugin : 1.5.0-beta2 (project)
            small aar : 1.5.0-beta2 (maven)
          gradle core : 4.6
       android plugin : 3.0.0
                   OS : Mac OS X 10.14.2 (x86_64)

Bundles

type name PP file size
host app
app app.main 0x77 *_main.so (x86) 10.9 KB
app app.mine 0x16 *_mine.so (x86) 35.5 KB
app app.detail 0x67 *_detail.so (x86) 6.6 KB
app app.home 0x70 *_home.so (x86) 10.4 KB
lib lib.afterutils 0x45 *_afterutils.so (x86) 21.2 KB
lib lib.analytics 0x76 *_analytics.so (x86) 125.7 KB
lib lib.utils 0x73 *_utils.so (x86) 46 KB
lib lib.style 0x79 *_style.so (x86) 44.9 KB
web web.about *_about.so (x86) 24.3 KB

Runtime

  Device : Samsung Nexus S
     SDK : Android 7.0
     ABI : armeabi-v7a
wangben5 commented 5 years ago

请问你解决了吗?我也遇到这样了,我android studio 3.4的,如果解决了,麻烦告知下,谢谢了

zhumj commented 5 years ago

解决了,就是不用这个玩意

Bob-liuboyu commented 5 years ago

同求,一样无法创建。。。。

itxiaox commented 5 years ago

我的Android studio 3.5同样无法创建

fjw0312 commented 5 years ago

哪位兄弟解决了???求告知

kingcxsc commented 4 years ago

解决了,就是不用这个玩意

哈哈,笑出声

zhumj commented 4 years ago

解决了,就是不用这个玩意

哈哈,笑出声

这玩意都已经没人维护了

Ou520 commented 4 years ago

哪位兄弟解决了???求告知

Ou520 commented 4 years ago

真的没办法解决吗?

ZhangKuixun commented 4 years ago

哪位兄弟解决了???求告知

换一个吧,atlas

FloatFuture commented 4 years ago

@zhumj @wangben5 @Bob-liuboyu @itxiaox @fjw0312 @Ou520 @ZhangKuixun @kingcxsc Issuse:#610 AS3.2新建Module命名规则不能有 ‘.’ 等特殊符号

该问题已可以暂时解决

问题可能原因:

  • 在更新Android Studio3.2或者以上版本之后的新增Module模板增加了规范性的逻辑.
    (可将鼠标悬浮在旁边的?上查看详细这里不做描述)

解决思路

  • 教程在New Module时是通过Android Studio下的模板进行新建的,并且复现问题的时候也是通过New Module时是通过Android Studio下的模板进行新建;
    而我尝试将Sample内的例如:app.main使用Import module加载到我的项目中,是可以正常引用的,这样我猜测只是New Module的模板因为规范性才禁止使用".",并非其他做出限制.

解决方案:

1.使用New Module并选择你需要的Module类型(类型如何选择请自行看Small文档,已经有详细说明)

为了说明情况,我举例子这里选择经常用的App.*插件模块名,在这里请选择:Phone & Tablet Module 之后请点击Next.

2.Configure the new module中

Application/Library name没有做出限制,按照你需要的填写即可,例如在这里我填写:App.main Module name 这里模板做出了限制,建议使用Application/Library name的全小写并删除".",因为我上面Application/Library name是:App.main,所以这里我填写:appmain 之后的New Module配置继续按照Small文档说的进行即可

3.鼠标🖱右键刚刚新建的Module(例如我举例子的Module name为:appmain的Module)

选择Refactor>Rename(或Shift+F6重命名) 选择Rename module(⛔请勿选择其他选项!文件夹名称IDE会自动帮你修改),这里我们重命名就可以修改为:app.main了 点击OK

4.点击Make Project(绿色锤子)右边的Edit Configurations

点击原本的Module name,例如我这里是appmain 将上面的Name改为app.main

现在恭喜你🎉🎊已经成功将Module name修改成为Small能自动识别的了

5.在Terminal中

  • Windows中执行:gradlew small
  • Mac中执行:gradle small

看看是否出现我们的Module:

type name PP sdk aapt support file size
host app 30 30.0.0
app app.main 0x77 30 30.0.0

⚡BUILD SUCCESSFUL in 1s

如以上成功识别到我们重命名的app.main

⚠不确定以后Android Studio对于Rename Module是否也同样使用规范检测逻辑,所以该方法不可靠,使用前请考虑清楚!⚠

(另外Small库已经没有维护较长时间了,新的Issuse也无原开发者回应,现在接入Kotlin还会出现 #608 集成失败的问题,需要更换较低版本的GradleTool和Gradle;如果作者仍未维护而你没有能力修改/维护该库建议更换其他仍有维护的项目,不推荐直接将该库使用到 生产环境)

编辑时间:2020/08/01 02:53 实验环境:Android Studio V4.0.1✅ FloatFuture Author: FawnFuture 熬夜回复Issues不容易,如果帮到你请点个👍好吗😭