小编Rik*_*avi的帖子

ant build:无法找到tools.jar.预计在C:\ Program Files\Java\jre7\lib\tools.jar中找到它

我知道这个问题很受欢迎,但没有一个解决方案可以帮助我.我用这个,这个,这个这个解决方案,但没有一个人帮我.

我想实现uiautomator测试,需要用ant构建我的build.xml,但是得到这个奇怪的错误.

我使用Windows 8.1

我的JAVA_HOME系统变量设置为c:\ programs files\java\jdk1.7.0_51和c:\ programs files(x86)\ java\jdk1.7.0_51

我的PATH系统变量也设置为%JAVA_HOME%/ bin,我的%ANT_HOME%设置为c:\ apache-ant.

但是当我在android app中执行ant build时,我得到了

unable to locate tools.jar. Expected find it in C:\Program Files\Java\jre7\lib\tools.jar
BUILD FAILED
Perhaps JAVA_HOME does not point to the JDK
Run Code Online (Sandbox Code Playgroud)

但我的JAVA_HOME指向JDK!我对此感到困惑.我也多次重建我的版本,我也一样.

如果有人帮助我会很高兴.

ant android build.xml ui-automation android-uiautomator

23
推荐指数
3
解决办法
5万
查看次数

菜单在片段的onCreateOptionsMenu上多次调用

我使用Fragments,当我切换到嵌套的Fragment时,当我到达嵌套的Fragment时,它实现了public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)我的菜单膨胀次数.我怎么能避免这个?我还用方法实现了Fragment的构造函数:

setRetainInstance(true);
setHasOptionsMenu(true);
Run Code Online (Sandbox Code Playgroud)

当我尝试实现siple解决方案时:

 @Override
 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
     // TODO Add your menu entries here
   if(!isInflated)
         {
         inflater.inflate(R.menu.contacts_archive_menu, menu);
         isInflated = true;
         }
         super.onCreateOptionsMenu(menu, inflater);

 }
Run Code Online (Sandbox Code Playgroud)

但是我的菜单在屏幕旋转后没有膨胀.

android contextmenu android-menu android-fragments

14
推荐指数
2
解决办法
7480
查看次数

Android正确的方法:应该解析JSON响应 - 在UI线程中,还是在另一个中?

我只是想知道 - 在主应用户界面中应该在Android应用程序中解析JSONObjectJSONArray从网络服务器接收的内容,还是应该交付给另一个?

例如,我正在使用Volley库:

private void fetchResults(){

    RequestQueue queue = Volley.newRequestQueue(mContext);
        String url = AuthenticationRequester.URL_GET_ALL_ORDERS;
        JsonArrayRequest jsonDepartureObj = new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray jsonArray) {
                iVolleyCallback.onJSONArraySuccess(jsonArray);
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                VolleyLog.d(TAG, "Error: " + error.getMessage());
                // hide the progress dialog
            }
        });
        queue.add(jsonDepartureObj);
}
Run Code Online (Sandbox Code Playgroud)

那么我应该把 iVolleyCallback.onJSONArraySuccess(jsonArray);另一个线程执行还是可以维护主UI线程?

让我们假设传入的JSON很大,需要一些时间才能继续?

同样的问题涉及AsyncTask以及使用Android中的Web服务的其他可能方式.

java multithreading android json

10
推荐指数
1
解决办法
1913
查看次数

proguard-rules.pro文件中的FileNotFoundException

我正在使用Android Studio v.1.0我的构建文件:

  buildTypes {

    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试发布版本时,我收到一个错误:错误:任务':app:proguardRelease'的执行失败.

java.io.FileNotFoundException:F:....\app\proguard-rules.pro(找不到文件)

我想,proguard-android.txt是Android SDK的一部分,对吗?

为什么Android Studio找不到它?

我也试过proguard-android.pro - 结果相同

java android proguard

9
推荐指数
2
解决办法
2万
查看次数

IllegalArgumentException:Receiver未注册:com.google.android.gms.common.api

我从Crashlytics得到了一个错误

java.lang.IllegalArgumentException: Receiver not registered: com.google.android.gms.common.api.c$a@425d95c8
   at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:654)
   at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1157)
   at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:378)
   at com.google.android.gms.common.api.c.gM()
   at com.google.android.gms.common.api.c.gJ()
   at com.google.android.gms.common.api.c.d()
   at com.google.android.gms.common.api.c$2.onConnected()
   at com.google.android.gms.internal.jm.f()
   at com.google.android.gms.internal.jm.dU()
Run Code Online (Sandbox Code Playgroud)

并且列出的行不会指向我的应用程序中的代码行,因此很难理解问题的原因是什么.

可能是什么原因?

编辑:

我没有在应用程序中使用BroadcastReceiver,可能崩溃与Google Play服务有关,但我想,我不需要在AndroidManifest中注册它们.我只是用

<meta-data
     android:name="com.google.android.maps.v2.API_KEY"
     android:value="...">

    </meta-data>

<meta-data
     android:name="com.google.android.gms.version"
     android:value="@integer/google_play_services_version">
    </meta-data> 
Run Code Online (Sandbox Code Playgroud)

java android

8
推荐指数
1
解决办法
2222
查看次数

奇怪:意外的顶级异常:任务应用的执行失败:dexDebug

我没有实现新的库,但编码时遇到了这个问题:

错误:任务':app:dexDebug'的执行失败.

com.android.ide.common.internal.LoggedErrorException:无法运行命令:C:\ android-sdk\build-tools\21.1.1\dx.bat --dex --no-optimize --output F:\ Android_Donbas\ReDonbasIDEANew \应用\构建\中间体\ DEX \调试--input列表= F:\ Android_Donbas\ReDonbasIDEANew \应用\建立\中间体\ TMP\DEX \调试\ inputList.txt错误代码:2输出:意外顶层例外:com.android.dex.DexIndexOverflowException:不是在方法ID [0,为0xFFFF]:65536在com.android.dx.merge.DexMerger $ 6.updateIndex(DexMerger.java:502)在com.android.dx.merge. DexMerger $ IdMerger.mergeSorted(DexMerger.java:277)在com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)在com.android.dx.merge.DexMerger.merge(DexMerger.java:189)处com.android.dx在com.android.dx.command.dexer.Main.runMonoDex(Main.java:302 com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)) com.android.dx.command.Main.main(Main的.java:106)

我的build.gradle:

 dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.google.code.gson:gson:2.3'
    compile 'com.google.code.gson:gson:2.2.2'
    compile 'com.google.guava:guava:18.0'
    compile 'com.android.support:appcompat-v7:20.0.0'
    compile files('libs/android-async-http-1.4.6.jar')
    compile files('libs/AndroidSwipeLayout-v1.1.6.jar')
    compile files('libs/apache-mime4j-0.5.jar')
    compile files('libs/crashlytics.jar')
    compile files('libs/httpclient-4.2.1.jar')
    compile files('libs/httpcore-4.2.1.jar')
    compile files('libs/httpmime-4.2.1.jar')
    compile files('libs/nineoldandroids-2.4.0.jar')
    compile files('libs/ormlite-android-4.48.jar')
    compile files('libs/ormlite-core-4.48.jar')
    compile files('libs/ormlite-jdbc-4.48.jar')
    compile files('libs/osmdroid-android-4.2.jar')
    compile files('libs/slf4j-android-1.6.1-RC1.jar')
    compile files('libs/universal-image-loader-1.9.3.jar')
}



packagingOptions {
        exclude …
Run Code Online (Sandbox Code Playgroud)

android

8
推荐指数
1
解决办法
3613
查看次数

将自定义 godaddy 域添加到铁路 Web 应用程序

我在Railway上部署了我的网络应用程序。

他们给出了以下设置: 在此输入图像描述

我去了 GoDaddy,在那里购买了一个自定义域名 - 并且无法输入 @ 作为名称。我打电话给支持人员 - 他们的代表亲自输入了以下设置。 在此输入图像描述 但还是不行,72小时过去了。

我应该如何解决这个问题?

python deployment django dns

8
推荐指数
1
解决办法
5458
查看次数

在MultipartEntity中使用FileBody进行UTF-8编码

我想在FileBody中发送文件时设置UTF-8编码,就像在StringBuilder中一样.我是这样做的:

restClient.AddEntity("body", new StringBody(body, Charset.forName("UTF-8")));
Run Code Online (Sandbox Code Playgroud)

如果我发送不同于UTF-8消息编码,它可以正常工作.但如果我喜欢这样:

ContentBody fbody = new FileBody(( File )file, "application/octet-stream","UTF-8");
        restClient.AddEntity("files[]", fbody);
Run Code Online (Sandbox Code Playgroud)

服务器获取的文件名不是UTF-8.我该如何解决?

android multipartentity

5
推荐指数
1
解决办法
6303
查看次数

Material Design:如何为Android Floating Action Button设置透明度

我的问题与有关.

当我打开NavigationDrawer时,浮动按钮位于其顶部,但必须位于下方.

我尝试这样做:

        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            Log.i(TAG , " inner onDrawerSlide");
            super.onDrawerSlide(drawerView, slideOffset);
            fabButton.setAlpha(25);
            float alpha = 0.2f;
            AlphaAnimation alphaUp = new AlphaAnimation(alpha, alpha);
            alphaUp.setFillAfter(true);
            fabButton.startAnimation(alphaUp);
            syncState();
        }
Run Code Online (Sandbox Code Playgroud)

和那样:

            @Override
            public void onDrawerSlide(View drawerView, float slideOffset) {
                super.onDrawerClosed(view);
                invalidateOptionsMenu();
                fabButton.setAlpha(255);
                syncState();
            }
Run Code Online (Sandbox Code Playgroud)

没有什么对我有用.什么可以解决方案?

我的布局:

<mobapply.freightexchange.customviews.FragmentNavigationDrawer
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:orientation="vertical">

    <!-- The ActionBar -->
    <include
        layout="@layout/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <!-- The main content view -->
    <FrameLayout
        android:id="@+id/flContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer material-design floating-action-button

5
推荐指数
1
解决办法
6112
查看次数

"IllegalStateException:scrollview只能在一个LinearLayout添加中托管一个直接子节点"

我有附加文件列表,并想让我的LinearLayout与它水平滚动.我只将一个子LinearLayout添加到我的Horizo​​ntalScrollView,除了我得到IllegalStateException.我的xml:

   <HorizontalScrollView
android:id="@+id/scrollMessageFiles"
android:layout_width="fill_parent"
android:layout_height="65dp"
android:layout_below="@+id/editMessage"
android:orientation="horizontal"
android:weightSum="1.0" >
        <LinearLayout
    android:id="@+id/panelMessageFiles"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="#FFFFFF"
    >

        </LinearLayout>

        </HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)

并希望将文件列表添加到ScrollView中的LinearLayout,如下所示:

public void addFiles()
 {



    HorizontalScrollView scroll = (HorizontalScrollView) findViewById(R.id.scrollMessageFiles);
    LinearLayout layout = (LinearLayout) findViewById(R.id.panelMessageFiles);
    if(!FileManagerActivity.getFinalAttachFiles().isEmpty())
    {
             for (File file: FileManagerActivity.getFinalAttachFiles())
              {

                    View line = new View(this);

                    line.setLayoutParams(new LayoutParams(1, LayoutParams.MATCH_PARENT));
                    line.setBackgroundColor(0xAA345556);
                    informationView = new TextView(this);
                    informationView.setTextColor(Color.BLACK);
                    informationView.setTextSize(12);
                    informationView.setCompoundDrawablesWithIntrinsicBounds(
                            0, R.drawable.file_icon, 0, 0);
                    informationView.setText(file.getName().toString());
                    layout.addView(informationView, 0);
                    layout.addView(line, 1);


              }
             scroll.addView(layout);
      }

}
Run Code Online (Sandbox Code Playgroud)

除了get之外,我只向Horizo​​ntalScrollView添加一个LinearLayout

        FATAL EXCEPTION: main
     java.lang.RuntimeException: Unable to start activity ComponentInfo{com.assignmentexpert/com.assignmentexpert.NewMessageActivity}: java.lang.IllegalStateException: …
Run Code Online (Sandbox Code Playgroud)

android textview horizontalscrollview android-linearlayout illegalstateexception

4
推荐指数
1
解决办法
1万
查看次数