【腾讯Bugly干货分享】Android减包 - 减少APK大小
- - CSDN博客移动开发推荐文章本文是对Google官方文档 Reduce APK Size 的翻译,点击“阅读原文”可以查看英文原文. 译者简介:damonxia(夏正冬),天天P图Android工程师. 用户经常会避免下载看起来体积较大的应用,特别是在不稳定的2G、3G网络或者在以字节付费的网络. 这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用.
效果图:

XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/btnFenXiang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="分享" />
</LinearLayout>
JAVA:
package hzl.pak.UI;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class FenxiangActivity extends Activity {
private Button btnFenXiang = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnFenXiang = (Button) findViewById(R.id.btnFenXiang);
btnFenXiang.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_SEND); //启动分享发送的属性
intent.setType("text/plain"); //分享发送的数据类型
intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); //分享的主题
intent.putExtra(Intent.EXTRA_TEXT, "extratext"); //分享的内容
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//这个也许是分享列表的背景吧
FenxiangActivity.this.startActivity(Intent.createChooser(intent, "分享"));//目标应用选择对话框的标题
}
});
}
}
配置文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="hzl.pak.UI"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".FenxiangActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<intent-filter android:label="@string/albums_sendbyWBlog">
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
注意配置文件里面的:
<intent-filter android:label="@string/albums_sendbyWBlog">
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
据说没这个腾讯微薄的不会出来,这个是网上别人反编译过的代码。