不经巨大的困难,不会有伟大的事业。
本讲内容:将应用发布到Google Play
1、插入有米广告
在有米官网https://www.youmi.net 下载有米广告SDK,里面会有demo、doc和libs等文件夹,其中demo是一个嵌入广告的示例,doc是有米广告SDK的使用文档,libs中存放是我们使用到的jar包。
先将libs中的jar包复制到项目的libs目录下,然后在AndroidManifest.xml中声明权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
接着在<application>标签添加如下内容
<span style="white-space:pre"> </span><activity
android:name="net.youmi.android.AdBrowser"
android:configChanges="keyboard|keyboardHidden|orientation"
android:theme="@android:style/Theme.Light.NoTitleBar">
</activity>
<service
android:name="net.youmi.android.AdService"
android:exported="false">
</service>
<receiver android:name="net.youmi.android.AdReceiver">
<intent-filter >
<action android:name="android.intent.action.PACKAGE_ADDED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
然后初始化接口
public class BaseActivity extends Activity {
public static final String TAG="tag";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AdManager.getInstance(this).init("ID", "密码", false);
}
……
}
我们打算把广告插入weather_layout.xml布局中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#484E61" >
……
<LinearLayout
android:id="@+id/adLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
</LinearLayout>
</RelativeLayout>
</LinearLayout>
然后在WeatherActivity中显示出来
public class WeatherActivity extends Activity implements OnClickListener{
……
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.weather_layout);
//实例化广告条
AdView adView=new AdView(this, AdSize.FIT_SCREEN);
//获取要嵌入广告条的布局
LinearLayout adLayout=(LinearLayout) findViewById(R.id.adLayout);
//将广告条加入到布局中
adLayout.addView(adView);
……
}
}
运行程序
2、生成一个带有正式签名的APK文件
注意:Android签名打包,如果出现报错可以在出错的地方,CTRL+1。 选择check file only。
首先点击CoolWeather项目--Android Tools--Export Signed Application Package,会弹出如下框
这里默认选中CoolWeather项目,直接Next,然后弹出一个选择keystore文件的对话框,由于目前我们还没有一个正式的keystore文件,所以选择Create new keystore。接着指定keystore的文件名和路径,并输入密码
Next,这里要求输入一系列创建keystore文件所必要的信息,根据情况填
Next,这时选择APK文件的输入地址
Finish,keystore文件和APK文件就生成好了,并且这个APK文件已经是签过名的了。另外,由于我们已经有了coolweather.keystore这个文件,以后再给酷欧天气打包的时候就不用创建新的keystore文件了,只需要选择coolweather.keystore文件,并输入正确的密码即可。
3、发布app