::: warning 考虑到包大小的问题, 暂不提供 Android x86 so 的支持. :::
在执行以下步骤之前,请先确认您的Android开发环境是ok的。
dependencies { ... // weex sdk and fastjson compile 'com.taobao.android:weex_sdk:0.20.0.2@aar' compile 'com.alibaba:fastjson:1.1.46.android' //support library dependencies compile 'com.android.support:recyclerview-v7:23.1.1' compile 'com.android.support:support-v4:23.1.1' compile 'com.android.support:appcompat-v7:23.1.1' }
混淆规则如下,建议参考最新的源码配置
-keep class com.taobao.weex.bridge.** { *; } -keep class com.taobao.weex.layout.** { *; } -keep class com.taobao.weex.WXSDKEngine { *; } -keep class com.taobao.weex.base.SystemMessageHandler { *; } -dontwarn com.taobao.weex.bridge.**
在AndroidManifest.xml
中声明权限
//网络 <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> //sd卡读写 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
InitConfig config = new InitConfig.Builder() //图片库接口 .setImgAdapter(new FrescoImageAdapter()) //网络库接口 .setHttpAdapter(new InterceptWXHttpAdapter()) .build(); WXSDKEngine.initialize(applicationContext,config);
WXSDKInstance
是weex渲染页面的基本单元,
instance.render(url)
拉取bundle,IWXRenderListener
的onViewCreated
返回创建的view,参见源码: WXPageActivity
public class MainActivity extends AppCompatActivity implements IWXRenderListener { WXSDKInstance mWXSDKInstance; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWXSDKInstance = new WXSDKInstance(this); mWXSDKInstance.registerRenderListener(this); /** * bundleUrl source http://dotwe.org/vue/38e202c16bdfefbdb88a8754f975454c */ String pageName = "WXSample"; String bundleUrl = "http://dotwe.org/raw/dist/38e202c16bdfefbdb88a8754f975454c.bundle.wx"; mWXSDKInstance.renderByUrl(pageName, bundleUrl, null, null,WXRenderStrategy.APPEND_ASYNC); } @Override public void onViewCreated(WXSDKInstance instance, View view) { setContentView(view); } @Override public void onRenderSuccess(WXSDKInstance instance, int width, int height) { } @Override public void onRefreshSuccess(WXSDKInstance instance, int width, int height) { } @Override public void onException(WXSDKInstance instance, String errCode, String msg) { } @Override protected void onResume() { super.onResume(); if(mWXSDKInstance!=null){ mWXSDKInstance.onActivityResume(); } } @Override protected void onPause() { super.onPause(); if(mWXSDKInstance!=null){ mWXSDKInstance.onActivityPause(); } } @Override protected void onStop() { super.onStop(); if(mWXSDKInstance!=null){ mWXSDKInstance.onActivityStop(); } } @Override protected void onDestroy() { super.onDestroy(); if(mWXSDKInstance!=null){ mWXSDKInstance.onActivityDestroy(); } } }
运行app,您将会看到一个 hello world
页面。
Weex 提供了能力扩展机制,可以根据自己的业务进行定制自己的功能。 主要分为: