扫码关注官方订阅号
光阴似箭催人老,日月如移越少年。
1,首先jar包不能打包那种带资源文件的,因为资源文件是靠.R访问的,即便你把资源放入进去也无法访问。2,使用第三方的jar,如果不准备提供jar,那么你就只能将使用了第三方的jar尽数写到自己打代码中,否则无法使用。
以上就是使用jar的问题,如果使用jar就会有这些问题,这些问题正常途径无法解决,网上有一些黑科技比如修改R文件的值或者其他什么方式,虽然可用,但并不通用,也不建议使用。
建议的方式使用lib工程的方式让对方依赖进行开发,核心的代码通过打包成jar包混淆,剩余代码则做成lib工程,让对方依赖进行开发。
jar多数是没有资源的,具体你可以看其他第三方SDK就能发现。建议正常途径解决,不要在网上利用一些“邪道”完成这一点,因为后面可能会更加痛苦。
1 首先,申明一点打包成jar包是访问不了资源文件的。可以采用下面的方式:生成库文件提供给Eclipse开发者 打包成aar文件提供给Android Studio开发者 2 即使将第三方jar包同时提供给开发者也没什么体验不好的,要明白需求方是开发者,而不是普通用户。
体验是留给跟上时代的用户的,Eclipse都已经被抛弃了,谈兼容谈体验都是费力不讨好的事情,建议你专心做SDK,打包用aar吧。如果非要兼容Eclipse,那就提供源码吧,打源码包吧。
Eclipse
SDK
aar
1.如何需要将资源文件提供,第一是可以建立Library工程,把资源文件、jar,依赖的jar通通放在里面。第二是写好文档,把这些东西提供给使用方,让他们复制。当然这个findviewbyId这块需要单独处理一下子。
这样资源文件的命名空间就相当重要了,比如说你有一个颜色叫做black,很有可能别人的也叫作这个名字,你最好这么写your_sdk_name_black
black
your_sdk_name_black
2.做SDK最好不要使用第三方库,如果接入你们SDK的人也使用同样的库呢,但是版本不一样呢?举个简单的例子,Retrofit在不同版本差异是很大的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
1,首先jar包不能打包那种带资源文件的,因为资源文件是靠.R访问的,即便你把资源放入进去也无法访问。
2,使用第三方的jar,如果不准备提供jar,那么你就只能将使用了第三方的jar尽数写到自己打代码中,否则无法使用。
以上就是使用jar的问题,如果使用jar就会有这些问题,这些问题正常途径无法解决,网上有一些黑科技比如修改R文件的值或者其他什么方式,虽然可用,但并不通用,也不建议使用。
建议的方式使用lib工程的方式让对方依赖进行开发,核心的代码通过打包成jar包混淆,剩余代码则做成lib工程,让对方依赖进行开发。
jar多数是没有资源的,具体你可以看其他第三方SDK就能发现。建议正常途径解决,不要在网上利用一些“邪道”完成这一点,因为后面可能会更加痛苦。
1 首先,申明一点打包成jar包是访问不了资源文件的。可以采用下面的方式:
生成库文件提供给Eclipse开发者
打包成aar文件提供给Android Studio开发者
2 即使将第三方jar包同时提供给开发者也没什么体验不好的,要明白需求方是开发者,而不是普通用户。
体验是留给跟上时代的用户的,
Eclipse都已经被抛弃了,谈兼容谈体验都是费力不讨好的事情,建议你专心做SDK,打包用aar吧。如果非要兼容
Eclipse,那就提供源码吧,打源码包吧。1.如何需要将资源文件提供,第一是可以建立Library工程,把资源文件、jar,依赖的jar通通放在里面。第二是写好文档,把这些东西提供给使用方,让他们复制。当然这个findviewbyId这块需要单独处理一下子。
这样资源文件的命名空间就相当重要了,比如说你有一个颜色叫做
black,很有可能别人的也叫作这个名字,你最好这么写your_sdk_name_black2.做SDK最好不要使用第三方库,如果接入你们SDK的人也使用同样的库呢,但是版本不一样呢?举个简单的例子,Retrofit在不同版本差异是很大的。