小编Mik*_*ine的帖子

Android Facebook SDK:生成发布密钥哈希

我正在构建一个用户可以使用Facebook登录的应用程序.

我已经创建了如下的哈希键:

try {
         PackageInfo info = getPackageManager().getPackageInfo(
         "com.app.package",
         PackageManager.GET_SIGNATURES);
         for (Signature signature : info.signatures) {
         MessageDigest md = MessageDigest.getInstance("SHA");
         md.update(signature.toByteArray());
         Log.d("KeyHash", "KeyHash:"+ Base64.encodeToString(md.digest(),
         Base64.DEFAULT));
         Toast.makeText(getApplicationContext(), Base64.encodeToString(md.digest(),
                 Base64.DEFAULT), Toast.LENGTH_LONG).show();
         }
         } catch (NameNotFoundException e) {

         } catch (NoSuchAlgorithmException e) {

         }
Run Code Online (Sandbox Code Playgroud)

在调试模式下,一切运行良好.

当我导出项目以供发布时,它会出现以下错误:

"Invalid key hash. The key hash ****************** does not match any stored key hashes"
Run Code Online (Sandbox Code Playgroud)

我粘贴了Facebook Developer仪表板中打印的密钥,但应用程序仍然给我错误.

我的行为的完整包是" com.app.package.views",我试图在仪表板中使用此包(作为Google Play包名称),但没有任何改变.

我该如何解决?如何生成正确的发布密钥哈希?

android facebook facebook-javascript-sdk

33
推荐指数
8
解决办法
6万
查看次数

在Jenkins 1.620 SonarQube 5.1.1中运行Sonar分析时SVN身份验证失败

我有一个Java maven的web项目,我也有Jenkins 1.620SonarQube 5.1.1.

我在jenkins中添加了一个maven post action,SonarQube将jdk设置为7u79,与项目使用的相同.

当我运行jenkins任务时,我在控制台上出现下一个错误:

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project *****: The svn blame command [svn blame --xml --non-interactive -x -w src/main/java/*****.java] failed: svn: PROPFIND request failed on '/*****/trunk/src/main/java/*****.java'
[ERROR] svn: PROPFIND of '/*****/trunk/src/main/java/*****.java': authorization failed (http://*****.*****.*****)
[ERROR] -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

看来,我必须把登录信息,SVNSonarQube任务中詹金斯Maven项目,但我还没有发现任何文件,我不知道是否应该作为MAVEN_OPTS或其他属性,也是大成.

提前致谢.

java svn maven jenkins sonarqube

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

带有 Google Drive URL 的下载管理器

我正在尝试使用 android DownloadManager 下载存储在 Google Drive 中的文件。

我从 Google 获得登录令牌,如下所示:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(AppConfig.getInstance().get("google_client_id"))
            .requestProfile()
            .requestEmail()
            .build();
Run Code Online (Sandbox Code Playgroud)

我收到一个带有谷歌驱动器文件 url 的通知,我将它传递给 DownloadManager,将令牌传递给它:

String cookie = CookieManager.getInstance().getCookie(d.getURL());
            request.addRequestHeader("Cookie",cookie);
            request.addRequestHeader("Authorization", "OAuth " + profile.getToken());
//d is the document object, that contains url, file name, etcc
//Profile is a simple object class that hold the user data taken from sign Google, like token, name, email, etcc
Run Code Online (Sandbox Code Playgroud)

使用简单的广播接收器来管理下载结果 (ACTION_DOWNLOAD_COMPLETE)。

下载已成功完成,但文件已损坏。如果我尝试打开它,设备(和电脑)会给我一个格式错误。该文件包含 Google 页面的 HTML 代码,该代码表示​​存在错误,仅此而已。

(我正在使用的帐户可以从这个特定的驱动器存储中读取和下载文档)

这是使用 DownloadManager 下载 Google Drive 文件的正确方法吗?有可能这样做吗?

android google-drive-api android-download-manager

6
推荐指数
1
解决办法
921
查看次数

ListView BaseAdapter中的EditText怪异行为

我有一个ListView,填充使用BaseAdapter.在listview Item中有一个数字EditText:

...
            <EditText
                android:id="@+id/edit_quantita"
                android:layout_width="50dp"
                android:layout_height="30dp"
                android:layout_gravity="center"
                android:layout_marginTop="5dp"
                android:background="@drawable/edit_quantita"
                android:gravity="center_vertical|center_horizontal"
                android:inputType="number"
                android:text="1"
                android:textColor="#fff"
                tools:ignore="HardcodedText" >

            </EditText>
...
Run Code Online (Sandbox Code Playgroud)

当我点击这个EditText时,数字键盘会立即提示,然后突然被常规字符键盘覆盖.如果我尝试在此键盘上写东西,则不会在任何地方显示任何文字.奇怪的是,如果我再次点击Editext它会表现得如此,只显示工作数字键盘.

我能做什么?

android android-listview android-edittext baseadapter

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

如何更改终端的默认目录?

我想更改Android Studio(v2.2.2)终端的默认目录。

当我打开终端时,它基于项目的目录。

C:\项目路径\

我经常要用 adb shell,因此我必须导航到SDK路径(平台工具)才能使用adb命令。

是否可以更改终端的默认目录,使其指向SDK-> tools文件夹?

terminal android adb android-studio

2
推荐指数
1
解决办法
4354
查看次数