Articles of android library

Icepick被打破了吗?

我用片段尝试了一些非常简单的测试。 但是Icepick似乎没有在outState包中保存String test的值…… public class MyFragment extends Fragment { @Icicle String test; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Icepick.restoreInstanceState(this,savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_settings, container, false); Log.d(TAG,”restored value of test=”+test); return view; } @Override public void onSaveInstanceState(Bundle […]

如何计算在Android项目中作为依赖项添加的库的大小

我正在一个项目中工作,我正在使用多个图书馆,如谷歌播放服务,翻新,gson,滑翔,推特和Facebook sdk。 所以我想知道每个库的确切大小在我的应用程序中占用。 请帮助我,是否有任何可能的方法来分析Android工作室的大小。 任何针对我的要求的工具建议或提示对我都非常有帮助。 我发布了我在build.gradle使用的依赖build.gradle ,如下所示。 compile(‘com.twitter.sdk.android:twitter:1.9.0@aar’) { transitive = true; } compile ‘com.android.support:appcompat-v7:23.2.1’ compile ‘org.twitter4j:twitter4j-core:4.0.2’ compile ‘com.github.bumptech.glide:glide:3.6.1’ compile ‘com.google.android.gms:play-services-gcm:8.4.0’ compile ‘com.android.support:support-v4:23.2.0’ 注意 :我正在分析此报告,以通过删除占用大量内存的库来减少应用程序的apk大小。 在过去的几天里,我完全坚持使用这个解决方案。 我甚至搜索了很多,我找不到优化的方法来计算我项目中库的确切大小用法。 请帮忙。 提前致谢。

TwoWay View自动添加空白区域

双向View是一个function强大的库,可以使用RecyclerView自定义组件网格 下面是我们在使用这个库时遇到的问题的截图,所以我找出了该问题的解决方案, 参考问题 填充问题#140 更改高度的项目会导致空白区域#156 与此问题相关的其他问题可能是 问:1 – 滚动时Gridview项目更改顺序 问:使用UniversalImageLoader加载图像时2 -UI乱糟糟

如何为Android库生成javadoc,因为它有依赖项,也是aar库?

我有android库项目,这取决于其他Android库项目。 我需要为库生成javadoc,但它失败了,因为gradle将javadoc类路径路径放到.aar位置,但javadoc需要.jar文件。 简化的gradle文件: android { compileSdkVersion 23 buildToolsVersion “23.0.2” configurations { javadocDeps } defaultConfig { minSdkVersion 7 targetSdkVersion 23 versionCode 1 versionName “0.1.0” } } dependencies { compile ‘com.android.support:support-v4:23.2.0’ compile ‘com.android.support:appcompat-v7:23.2.0’ compile ‘com.nineoldandroids:library:2.4.0’ compile ‘com.annimon:stream:1.0.7’ javadocDeps ‘com.android.support:support-annotations:23.2.0’ javadocDeps ‘com.nineoldandroids:library:2.4.0’ javadocDeps ‘com.android.support:support-v4:23.2.0’ } task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = ‘sources’ } task javadoc(type: Javadoc, […]

如何以编程方式检查是否在AndroidManifest.xml中声明了服务?

我正在编写一个提供服务的库,其他开发人员将其包含在他们的项目中。 因此,我无法控制AndroidManifest.xml。 我解释了在文档中要做什么,但是一个常见的问题是,人们忽略了将相应的标记添加到其清单中,或者将其添加到错误的位置。 现在,当我的库调用startService而未在清单中声明服务时,唯一发生的事情是ActivityManager会记录一个警告。 我希望在发生这种情况时抛出exception,以便开发人员知道如何修复它。 如何检测清单是否实际声明了此服务?

如何用src,res文件夹创建android jar项目

我想在另一个带有源和资源文件夹的项目中创建android项目用作jar库。 我已经创建了demo项目并通过从eclipse中选择src和res文件夹导出到jar中。 在我的jar项目中包含使用jar项目的布局xml文件表单资源的视图类。我在另一个项目中添加了demo.jar并运行然后它给出了错误。 如果我在不使用任何资源的情况下创建动态视图并使用该jar项目就可以正常工作。但是我想在该视图中使用jar项目的资源。

如何将依赖包引用到像.aar文件这样的Android库中?

我有一个android-library插件,它使用几个包含.jar文件的android库,并直接从我的build.gradle文件中引用: compile fileTree(dir: ‘libs’, include: ‘*.jar’) 然后我会发出一个gradlew assembleRelease命令来创建一个可以在android应用程序中使用的.aar文件。 到目前为止,这对我来说一直很好。 我现在需要在我的android-library中使用Google Play服务。 正如官方Android文档( http://developer.android.com/google/play-services/setup.html#Setup )中所述,我需要将Google Play服务作为库项目包含在maven中导入: compile ‘com.google.android.gms:play-services:4.3.23’ 但是当我构建我的.aar文件时,Google Play服务似乎不包含在其中(我的.aar文件只有200kb,Google Play Services .jar库大于1mb)。 我已经读过Google Play服务应该被引用为Android库模块,但我无法在没有编译错误的情况下将其导入。 有人可以帮我把Google Play服务打包到我的android-library中吗? 我的android-library build.gradle文件: buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.6.+’ } } apply plugin: ‘android-library’ repositories { mavenCentral() } dependencies { compile ‘com.google.android.gms:play-services:4.3.23’ compile fileTree(dir: ‘libs’, include: […]

AndroidStudio中的ProGuard:如何从多模块项目发布版本中获取模糊库.aar文件?

我有以下情况:我在Android Studio 1.4中有一个项目,它有3个模块。 主要模块是app的模块,另外2个是库模块/子项目。 因此,当我构建整个项目(使用gradle)时,我将应用程序作为.apk与所有依赖项(2个库模块),并且一切都按预期工作。 我还可以在app模块的build.gradle文件中启用ProGuard的minify选项,从而缩小应用程序。 这两个库模块还可以生成.aar文件,我可以在其他应用程序项目中使用(当为整个项目运行发布版本时)。 现在我想分发库,我希望通过ProGuard对它们进行模糊处理(而不是缩小)。 我希望在我的应用程序的发布版本(当然保留公共API)期间自动对它们进行模糊处理,而不会因为缺少类等而破坏我的应用程序的构建过程。我试图在构建中使用“consumerProguardFiles”条目来实现这一点。 gradle文件库,但没有成功。 那我怎么能实现呢?

Volley vs Aquery vs Android Async HTTP

我想知道哪些库最好或更快。 在我的应用程序中,我正在使用网络请求和图像缓存。 我需要知道哪些库是最好的。

如何让Gradle for Android从其他测试代码中查找库的测试代码?

我有一个Android应用程序,下面有两个库层。 每个库都有自己的测试代码。 我想上层库的测试代码扩展下层库的测试代码,但我无法弄清楚如何让Gradlefind下层库的测试代码(它只find生产代码)。 我的文件结构如下所示: myproject/ + myapp/ + src/ + main/ + java + com/myapp + lib1/ + src/ + main/ + java + com/myapp/lib1 + androidTest + java + com/myapp/lib1/test + lib2/ + src/ + main/ + java + com/myapp/lib2 + androidTest + java + com/myapp/lib2/test 该应用程序的gradle文件如下所示: apply plugin: ‘com.android.application’ android { … } […]