1
nicevar 2017-03-14 11:07:46 +08:00 2
兄弟,这不是混淆的问题,是因为编译成 class 的时候就把参数给处理掉了,要达到这样的效果需要 java8 才行,编译的时候用-parameters 参数保留参数名,不过 android 现在都不支持 java8
我觉得你没必要这样搞,既然是给别人用的你不弄文档,光让人家看函数+参数名字?是不是有点逗 再说你直接在代码里面写上注释直接生成文档没有什么难得,分分钟的事,你才暴露多少接口给别人 |
2
skull OP @nicevar 不是不想提供文档,文档是百分百一定提供的,只是不想客户在使用的时候每个接口都要去看一下文档才知道参数的顺序以及意义
|
3
zpf124 2017-03-14 11:34:48 +08:00 1
然后你们发布 jar 不发布源码?
既然都不加密了,直接建个私服库,将源码和字节码都提交到死扶上,让对方添加依赖后可以直接显示源码。 |
4
nicevar 2017-03-14 11:35:48 +08:00
@skull 有文档就行啊,你的想法是多余的,哪有 java 程序员不看文档的,这是给自己挖坑,学 java 入门就是从文档开始的,你看各大公司的 sdk 不都是提供一个文档+demo 就行了
相反即使人家能看到函数名+参数没有文档,人家都还会向你要 |
5
fwrq41251 2017-03-14 11:44:44 +08:00 1
maven-source-plugin ,可以把源码 attach 上去
gradle 应该也有 |
6
satifanie 2017-03-14 11:59:42 +08:00 1
你的需求是别人引入你的包之后,代码提示之类的显示参数名吧。 而且你用的 Maven 的工程吧。
complie 组件选择 Eclipse 的编译就好!大致如下: https://gist.github.com/satifanie/82ed3569de67e0b772cfb0b126439b43 |
7
somebody 2017-03-14 13:01:37 +08:00 via Android 1
把源码一起发布到 maven 上,这样在 Android studio 里实现 SDK 里的接口时,就自动使用 SDK 源码里的变量名了
或者如果不给源码,试试像 Android SDK 那样,如果不下载源码,只有个接口,里面没有实现(是个 stub ) |
8
Cbdy 2017-03-14 13:09:25 +08:00 1
自定义注解,加到参数 /方法前面
|
9
aliuwr 2017-03-14 13:17:47 +08:00 1
关键词 javadoc 。
除了一并发布源码外,还能只打包 javadoc 发布。许多闭源项目都是这么做的。 |
10
skull OP |
11
skull OP |
13
SoloCompany 2017-03-14 21:04:11 +08:00 1
不想开源当然是发布 javadoc 了,可以同时发布到 maven
懂开发的人自然知道怎么使用 javadoc ,基本上所有开发工具都内置 javadoc 支持,谁会傻乎乎的去依赖反编译? java8 的 -parameters 参数不是给你 debug / reference 用的,是给需要特殊场景下的反射用的 |