我看到一个我以前从未见过的错误,因为Android阻止了我的一些布局文件在Eclipse中呈现.它们在运行时渲染得很好.
图形布局编辑器(和我的错误日志)中显示的错误是:"Resouce id 0x1010081不是STYLE类型(而是attr)"
我在我的R文件中搜索了资源ID 0x1010081,我找不到它所以我猜可能某种程度上我与内置的Android attr有冲突.我还验证了下面的所有样式属性都指向实际样式而不是attr.任何帮助赞赏.
这是我的完整布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bkg_light"
android:padding="@dimen/padding_med" >
<RelativeLayout
android:id="@+id/relativeLayout_activity"
android:layout_width="fill_parent"
android:layout_height="@dimen/button_height"
android:background="@drawable/xml_button"
android:padding="@dimen/padding_med" >
<TextView
style="@style/text_large_bold_white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/activity" />
<TextView
android:id="@+id/textView_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="@dimen/margin_med"
android:layout_toLeftOf="@+id/textView_arrow_right_start_date"
android:text="@string/none_selected"/>
<TextView
android:id="@+id/textView_arrow_right_start_date"
style="@style/arrow_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
</RelativeLayout>
<!-- kv Duration -->
<RelativeLayout
android:id="@+id/relativeLayout_duration"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/relativeLayout_activity"
android:layout_marginTop="@dimen/margin_large"
android:background="@drawable/xml_button">
<TextView
android:id="@+id/textView_duration"
style="@style/text_large_bold_white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/duration_lc"
android:paddingLeft="@dimen/padding_med"/>
<Spinner
android:id="@+id/spinner_duration"
android:layout_width="wrap_content"
android:layout_height="@dimen/button_height"
android:layout_alignParentRight="true"
android:entries="@array/array_durations"
android:prompt="@string/duration_lc"
android:spinnerMode="dropdown"
android:clickable="false"/>
</RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是我的styles.xml: …
因此,刚刚更新到Android Studio 1.4 Beta 4并且无法构建发布版本.我可以构建一个调试版本.这是我得到的错误:
ExternalSystemException: String index out of range: -130
Run Code Online (Sandbox Code Playgroud)
经过进一步检查,我看到了这个:
String index out of range: -130
com.intellij.openapi.externalSystem.model.ExternalSystemException: String index out of range: -130
at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:223)
at com.android.tools.idea.gradle.invoker.GradleTasksExecutor.invokeGradleTasks(GradleTasksExecutor.java:400)
at com.android.tools.idea.gradle.invoker.GradleTasksExecutor.run(GradleTasksExecutor.java:221)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:563)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:126)
at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:400)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我已经尝试使用Gradle 2.3 - 2.7并且总是在构建发布版本时遇到此错误.
来自主模块的build.gradle:
import java.util.regex.Pattern
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies { …
Run Code Online (Sandbox Code Playgroud) 有没有办法在Android中动态查看特定于应用程序的缓存?我正在将图像保存到缓存(/ data/data/my_app_package/cache),我99%肯定他们在那里保存,但不确定他们待在一起多久.
当我使用Eclipse中的DDMS文件资源管理器查看缓存时,它始终为空.我也尝试在ADB中检查适当的缓存目录,并且它总是空的.
有什么建议?
我有一个在Fragments之间滑动的ViewPager.我正在使用FragmentStatePagerAdapter将Fragments提供给ViewPager.如果用户以正常速度向左滑动,然后非常快速地向右滑动,则可以使ViewPager进入奇怪状态,其中显示多个碎片.
例如,如果用户在片段A上,则以正常速度向左滑动到片段B,然后快速向右滑动以返回到片段A,然后在屏幕上显示片段A和B.
任何人对于为什么会发生这种情况有任何想法或者预防它的好方法?
这是它的样子:
这是我在XML中的ViewPager定义:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.company.views.CustomActionBar
android:id="@+id/customActionBar"
android:layout_width="match_parent"
android:layout_height="@dimen/height_actionbar"
android:layout_alignParentTop="true"/>
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/customActionBar"/>
Run Code Online (Sandbox Code Playgroud)
此外,我记录了来自onPageChangeListener()的输出,并注意到当ViewPager卡在视图之间时,它报告的positionOffset为0.这是ViewPager的值在从STATE_DRAGGING转换为STATE_SETTLING到STATE_IDLE时的样子奇怪的状态:
state = 0 prevState:2 position:1 positionOffset:0.0
state = 1 prevState:0 position:1 positionOffset:0.0
state = 2 prevState:1 position:1 positionOffset:0.4069444
state = 0 prevState:2 position:2 positionOffset:0.0
所以看起来好像ViewPager正在向我报告错误的positionOffset.
完整的示例代码活动和适配器:
public class ActivityBagelProfileViewer extends CustomAbstractFragmentActivity
implements CustomActionBarContract, ListenerProgress, ListenerSync
{
public static final String EXTRA_BAGEL_INDEX = "BAGEL";
public static final int REQUEST_CODE_BAGEL_PROFILE_VIEWER = 4000;
public static final int RESULT_GO_TO_PASS_FLOW = 12;
public static final …
Run Code Online (Sandbox Code Playgroud) user-interface android android-layout android-fragments android-viewpager
即将在我们的Android应用程序中构建订阅产品,但有一点不清楚了解取消订阅的最佳方式.我们计划让用户取消的唯一方法是让他们转到Google Play商店并明确取消,但在这种情况下,我们的后端将不会收到通知.
Google Play Developer API文档明确表示您不能在API中查询所有订阅的状态,那么我们应该如何知道哪些用户取消了订阅?
任何帮助非常感谢!
我有一个多模块项目.从我的项目的根目录(包含多个模块),我希望能够调用'gradle build'并让它在我的一个模块中使用不同的AndroidManifest,这取决于我传入的一些参数.什么是最好的方法来完成这个?我应该使用gradle.properties文件还是可以在settings.gradle文件中以某种方式指定不同的build.gradle?任何帮助赞赏!
settings.gradle:
include 'ActionBarSherlock'
include '<main_app>'
Run Code Online (Sandbox Code Playgroud)
的build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
dependencies {
compile project(':ActionBarSherlock')
}
android {
buildToolsVersion "17.0"
compileSdkVersion 17
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找使用不同AndroidManifest.xml的最佳方法,比如我在//test/AndroidManifest.xml中使用的那个.我需要能够从命令行指定此更改.有任何想法吗?
command-line android command-line-arguments gradle android-manifest
所以我试图使用gradle来创建一个单独的buildType,但是buildType需要为同一个Activity使用不同的特性.在这种情况下,我的splash活动需要一个不同的intent-filter,具体取决于buildType.这可能吗?
我在gradle中收到以下错误:
:Tinder:processUtestManifest
[AndroidManifest.xml:67, AndroidManifest.xml:38] Trying to merge incompatible /manifest/application/activity[@name=com.<company_name>.activities.ActivitySplash] element:
<activity
@android:name="com.<company_name>.activities.ActivitySplash"
<intent-filter>
<action
-- @android:name="android.intent.action.MAIN">
<activity
@android:name="com.<company_name>.activities.ActivitySplash"
<intent-filter>
<action
++ @android:name="com.apphance.android.LAUNCH">
Run Code Online (Sandbox Code Playgroud) 似乎Gradle zipAlign任务对我不起作用,不确定我做错了什么.我尝试过包含zipAlign任务,但不包括它,但它似乎没有什么区别.我的gradle脚本吐出了一个"release"版本,但是当我尝试上传我的.apk时,根据开发者控制台它永远不会压缩对齐.
这是我的构建脚本:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
dependencies {
compile project(':facebook-android-sdk-3.0.1:facebook')
compile project(':google-play-services_lib')
compile project(':nineoldandroids')
compile project(':SlidingMenu-master:library')
compile project(':ViewPagerIndicator')
compile project(':volley')
compile project(':windowed-seek-bar')
compile files('compile-libs/androidannotations-2.7.1.jar', 'libs/Flurry_3.2.1.jar', 'libs/google-play-services.jar', 'libs/gson-2.2.4.jar', 'libs/picasso-1.1.1.jar', 'libs/crittercism_v3_0_11_sdkonly.jar', 'libs/gcm.jar', 'libs/apphance-library.jar')
}
android {
buildToolsVersion "17.0"
compileSdkVersion 17
signingConfigs {
debug {
storeFile file('keystores/debug.keystore')
}
}
buildTypes {
debug {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src'] …
Run Code Online (Sandbox Code Playgroud) 我有一个ViewPager w /负边距设置为获得这样的效果:
现在,我想要发生的是当我点击当前视图左侧或右侧的视图时.它应该选择该视图并在ViewPager上调用setCurrentItem().这适用于当前项右侧的视图,但不适用于当前项左侧的视图.当我点击该视图时,报告给我的位置是当前视图的位置.
如果它有帮助,这里有一些代码.这是来自PagerAdapter.instantiateItem(),我在onClick()上触发:
@Override
public Object instantiateItem(final ViewGroup container, final int position)
{
cardLayout.setTag(profile);
cardLayout.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
// mOnItemClickListener passed in to adapter on initialization
mOnItemClickListener.onItemClick(null, view, position, 0);
// other stuff happens here as well
}
});
}
Run Code Online (Sandbox Code Playgroud)
整个PagerAdapter类适用于任何有兴趣的人:
static class GiveTenPagerAdapter extends PagerAdapter
{
private final int ANIMATION_DURATION;
private ListenerOnGiveTakeClick mListenerOnGiveTakeClick;
private List<GiveTen> mGiveTens;
private Context mContext;
private LayoutInflater mInflater;
private boolean mIsCrossFadeAnimationRunning;
private int mSquarePhotoSideLength;
GiveTenPagerAdapter(List<GiveTen> giveTens, Context context, …
Run Code Online (Sandbox Code Playgroud) 当我尝试在我的Gradle构建中在本地机器上运行Proguard时,出现"Java堆空间"错误.特别:
:<app_name>:proguardRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':<app_name>:proguardRelease'.
> Java heap space
Run Code Online (Sandbox Code Playgroud)
我尝试设置我的GRADLE_OPTS = -Xmx2048m,但我仍然收到堆空间错误.
有什么建议?
这是我的日志输出的结束:
:Tinder:proguardRelease
ProGuard, version 4.9
Reading input...
Reading program directory [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/build/classes/release]
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/build/exploded-bundles/library.aar/classes.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/libs/androidannotations-api-2.7.1.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/libs/picasso-1.1.1.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/libs/gcm.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/build/exploded-bundles/ViewPagerIndicator.aar/classes.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/build/exploded-bundles/nineoldandroids.aar/classes.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/libs/crittercism_v3_0_11_sdkonly.jar] (filtered)
Reading program jar [/Users/jabdulius/Documents/Dropbox/workspace-tinder/Tinder/libs/google-play-services.jar] (filtered)
Reading program jar …
Run Code Online (Sandbox Code Playgroud) android ×8
gradle ×5
build ×3
action ×1
caching ×1
command-line ×1
google-play ×1
heap-memory ×1
image ×1
intentfilter ×1
layout ×1
obfuscation ×1
proguard ×1
release ×1
resources ×1