您的位置:首页 > 移动开发 > Android开发

android studio 项目作为library, 安装时候出现两个应用程序图标

2016-03-30 12:16 555 查看
这几天在做一些之前工作的整理,把自己在之前写的几个项目中的recycleView的万能适配器提取出来,方便以后的项目中直接用,有兴趣的朋友可以直接去我的项目github地址上去下载,分享才是技术的进步

项目地址:https://github.com/HuangShuiXiang/MaterListView

由于第一次做分享,无奈遇到好多问题

一、github的上传

自己之前一直在忙,所以很少说去分享什么东西,所以只是知道去github拿东西,可没做过上传。所以只能老老实实的百度一下前人的经验,这里就不详细说了。新手的话请自行去百度

二、项目下载下来之后,因为他本身作为一个demo,是可以运行的

大家下载之后可以运行一下,看看效果,demo比较简陋,不过核心在了,有兴趣的可以修改修改,大家一起交流进步,切近不要一味的去github拿项目来用而不去了解原理了,“站在巨人的肩膀上开发”这道理害死人,核心引用代码

/**
* 填充数据
*/
private void fillArrayDateToListView() {
for (int i = 0; i < 10; i++) {
list.add(new TestModel("item" + i));
}
for (int i = 0; i < list.size(); i++) {
//新建卡片
TestItemCard card = new TestItemCard(this);
card.setPosition(i);
//绑定数据
card.setResult(list.get(i));
//设定监听
card.setOnDeleteFreshUIPressedListener(listener);
//添加到recycleView
materialListView.add(card);
}
}
其他请参照例子


三、遇到的问题

1、引用的问题

这就是吃一只长一智了,不试过不知道别人做野不容易,开始我自己引用的时候gradle各种报错,尝试了十八般武艺,最终发现···因为作为引用library本身是一个完整的项目,有自己的application,汗。。。。

只要把gradle里面

apply plugin: 'com.android.application'


改成

apply plugin: 'com.android.library'


同时把

applicationId "com.materlistview"


删除掉,就可以按照gradle引用规则引用了

compile project(':MaterListView')


别忘了setting.gradle

include  ':MaterListView'


好吧,已经可以用了。欧耶(开心嘚太早了),麻麻在也不担心我不会recycleView了



运行了引用library的项目,然后居然出现两个了,

坑。。。原来又被library的application害了,原因是在library的AndroidManifest.xml文件,我居然还这样写

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.materlistview" >
<!-- 写入扩展存储,向扩展卡写入数据,用于写入离线定位数据-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- SD卡读取权限,用户写入离线定位数据-->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!-- <activity
android:name=".TestActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>-->
<activity android:name=".CrashHandler.ServerLogActivity"></activity>
</application>

</manifest>


自作孽不可活啊,忍着泪···把这个文件注释成只有一个包名···

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.materlistview" >
</manifest>


这样就可以了!!!!

总结,问题不可怕,可怕的是无知。。。。。。。。。欢迎大家留言····
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: