android成神之路Android开发Android知识

Android多渠道打包の根据渠道来加载相应的资源文件及Java

2016-11-17  本文已影响313人  kingpengLin

Android多渠道打包の根据渠道来加载相应的资源文件及Java代码

方案需求

由于不同渠道,对项目会进行一定的修改,比如图片、文字等,所以需要根据渠道来加载相应的资源文件,以达到显示相应渠道定制的app,同时不需要新建module方式进行实现

根据渠道,定制资源

productFlavors {    
      demo1 {        
            applicationId 'com.hehe.demo1'    
      }    
      demo2 {        
            applicationId 'com.hehe.demo2'    
      }
}

比如我们现在替换app的logo图片,及名称

<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及名称

结果.png
加载不同的Java代码同理,就不在此说明了。。。
其他方法也可以实现,如新建module,对应渠道添加相应的module依赖,也能实现该效果,不过module过多的话,会导致项目编译速度变得慢。

Android自动打包

这个可以结合我前面两篇关于Android集成Jenkins实现自动打包功能

参考

上一篇下一篇

猜你喜欢

热点阅读