Android多渠道打包の根据渠道来加载相应的资源文件及Java代码
2016-11-18 10:12
316 查看
Android多渠道打包の根据渠道来加载相应的资源文件及Java代码
方案需求
由于不同渠道,对项目会进行一定的修改,比如图片、文字等,所以需要根据渠道来加载相应的资源文件,以达到显示相应渠道定制的app,同时不需要新建module方式进行实现根据渠道,定制资源
配置渠道,在项目gradle中进行渠道配置productFlavors { demo1 { applicationId 'com.hehe.demo1' } demo2 { applicationId 'com.hehe.demo2' } }
新建文件夹,找到app\src\路径,新建文件夹为刚刚配置的渠道名,即demo1 、demo2,注意文件夹名字必须和build.gradle里的渠道名对应,demo1 、demo2目录与main目录同级。
添加需要替换的资源,在打包时,如果资源的名称与app\src\main目录下res的资源一样,则会进行替换为当前的同名资源
比如我们现在替换app的logo图片,及名称
app\src\main 下的清单文件<application android:name=".MyApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application>
打包结果,能够成功替换app的logo及名称
加载不同的Java代码同理,就不在此说明了。。。
其他方法也可以实现,如新建module,对应渠道添加相应的module依赖,也能实现该效果,不过module过多的话,会导致项目编译速度变得慢。
非常慢!
非常非常慢!!
非常非常非常慢!!!
Android自动打包
这个可以结合我前面两篇关于Android集成Jenkins实现自动打包功能- Jenkins搭建Android自动打包
- Jenkins搭建Android自动打包二之设置渠道打包
参考
Android在开发中的实用技巧之多渠道打包为给个渠道定制不同的代码和资源相关文章推荐
- android studio多渠道打包,定制个性化,替换不同资源文件,代码
- Android Studio多渠道打包如何使用不同的资源,依赖和java代码
- android 代码加载 已知文件名 的资源文件
- 一起看代码来玩玩QT之26 Resource(加载资源文件,比如打包的时候加载图片什么的)
- 利用python操作android的xml资源文件,让其按照中文自动生成对应中文首字母加起来的名字,并且根据中文在java类里面替代对应的中文
- 【Android】Android Layout Binder——根据layout布局文件自动生成findViewById的java代码的神器
- Android 打包, 不同渠道使用 不同的资源文件
- Android 加载assets中的资源文件实例代码
- Android资源文件在配置文件中的使用与java代码对资源文件的操作
- android中java代码中通过资源id加载String方法
- Android多渠道打包修改资源文件
- android获取app当前的渠道号或者获取清单文件application中的任意meta-data(以友盟的多渠道打包为例)
- 【Android】打包过程:生成自动代码->编译->(混淆)->dex文件->生成资源文件->打apk包->(签名)->对齐
- Android Studio多渠道打包方式一:通过外部文件来写渠道信息
- android中打包含有Activity以及资源文件的jar包在工程中调用
- 用eclipse开发android,xml-layout文件不自动提示,Java代码可以自动提示
- 反编译APK 得到JAVA代码和资源文件源码
- android中打包含有Activity以及资源文件的jar包在工程中调用
- Android APK反编译得到Java源代码和资源文件
- 图片资源加载路径分析以及netbeans打包java程序,并包含图片资源