小编Tan*_*cho的帖子

三星Multiwindow崩溃

我在Playstore上有一个支持三星多窗口模式的应用程序,在三星rom的4.4.2版本之前,一切都很好,但是我注意到随着操作系统版本被推送到设备,崩溃报告开始上升.我在三星的开发频道上找不到任何具体的内容.

崩溃是4.4.2独有的.任何人都有想法?

崩溃报告如下

Version: 201
Android: 4.4.2
Manufacturer: samsung
Model: SM-N9005
Date: Tue Apr 01 19:53:09 CEST 2014

java.lang.IllegalArgumentException: Receiver not registered: com.android.internal.policy.impl.MultiPhoneWindow$VideoCapabilityReceiver@435847b0
    at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:671)
    at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1784)
    at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:500)
    at com.android.internal.policy.impl.MultiPhoneWindow$VideoCapabilityReceiver.unregister(MultiPhoneWindow.java:334)
    at com.android.internal.policy.impl.MultiPhoneWindow$MultiPhoneDecorView.onDetachedFromWindow(MultiPhoneWindow.java:659)
    at android.view.View.dispatchDetachedFromWindow(View.java:13429)
    at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2782)
    at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3233)
    at android.view.ViewRootImpl.doDie(ViewRootImpl.java:5966)
    at android.view.ViewRootImpl.die(ViewRootImpl.java:5943)
    at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:365)
    at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:320)
    at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:84)
    at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3656)
    at android.app.ActivityThread.access$1400(ActivityThread.java:157)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:157)
    at android.app.ActivityThread.main(ActivityThread.java:5293)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

android samsung-mobile android-4.4-kitkat samsung-touchwiz samsung-mobile-sdk

17
推荐指数
1
解决办法
684
查看次数

Android NDK溢出dalvik JNI本地参考表

我有以下问题,从c ++我发送巨大的字符串[]到java.巨大的=最多20行; 我正在做以下事情

jint jtype = 2;
jstring emptyString = env->NewStringUTF("");
jobjectArray data = (jobjectArray)env->NewObjectArray(7, env->FindClass("java/lang/String"), emptyString);

env->SetObjectArrayElement( data,0,env->NewStringUTF(item->get_id().c_str());
env->SetObjectArrayElement( data,1,env->NewStringUTF(item->get_number().c_str());
env->SetObjectArrayElement( data,2,env->NewStringUTF(item->get_fullname().c_str());
env->SetObjectArrayElement( data,3,env->NewStringUTF(item->get_mf().c_str());
env->SetObjectArrayElement( data,4,env->NewStringUTF(item->get_dob().c_str());
env->CallVoidMethod(dao, jsaveItem, data, jtype);
int i;
for (i = 0; i < 5; ++i) {
   jstring string = (jstring) env->GetObjectArrayElement(data, i);
   env->DeleteLocalRef(string);
}
env->DeleteLocalRef(emptyString);
env->DeleteLocalRef(data);
env->DeleteLocalRef(dao);
Run Code Online (Sandbox Code Playgroud)

这是在一个循环中发生的所以我正在为我想要保存在数据库中的每个对象执行它,所以你可以想象,它发生了很多次.

所以我考虑了VM并删除了我创建的每个字符串的本地引用,但我仍然得到:

 ReferenceTable overflow (max=512)
Last 10 entries in JNI local reference table:
  502: 0x40552880 cls=Ljava/lang/String; (28 bytes)
  503: 0x405528b8 cls=Ljava/lang/String; (28 bytes)
  504: 0x4051f8d0 cls=Ljava/lang/Class; 'Lcom/project/storage/userdata/DataDao;' …
Run Code Online (Sandbox Code Playgroud)

java-native-interface android dalvik android-ndk

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

在Android上以编程方式发送彩信

我有一个我应该做的任务的问题,我应该在Android 2.1上使用我们自己的界面发送彩信,所以你可以猜测调用默认的Activity是不可能的.所以我的问题是,有没有办法以编程方式使用android SDK发送彩信而不调用他们的意图,我尝试在eclipse中导入MMS应用程序但是大多数类都是com.google.android,这意味着它们不是开源的,所以我如果可能的话,不知道如何获得它们,或者如何模仿它们.我甚至考虑使用反射从Dalvik加载它们,但我认为这是最后的努力,可能不会带来结果.

有任何想法吗?

顺便说一句,我发现了

如何在Android中通过彩信发送图像?

将彩信发送到不同的Android设备

但它们不起作用..(没有专有类)

android mms

7
推荐指数
1
解决办法
5688
查看次数

使用ssl支持在android上移植libcurl

我试图通过SSL支持将libCurl移植到android,第一步是在没有ssl支持的情况下移植curl我猜所以我开始这样做了.但是我遇到了一个问题.

当我在开发网站和Android.mk文件中阅读时,困难的部分是首先配置make.所以我做的是:

  1. 下载Android源代码(并编译它!因为需要一些中间库)

  2. 下载cURL

  3. 解压缩卷曲:{android_src}/external/curl

  4. 通过使用此内容在external/curl文件夹中创建sh文件,为curl创建configure脚本.

`

export A=/home/user/Development/AOSP/2.3.3    
export CC=$A/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi-gcc 
export NDK=/home/user/Development/Tools/sdk/android/ndk
export NDKLIBS=$NDK/platforms/android-4/arch-arm/usr/include
export SYSROOT=$A/ndk/build/platforms/android-4/arch-arm 
export CPPFLAGS="-I $A/system/core/include"
export LDFLAGS="-L$A/out/target/product/generic/obj/lib/ -L$A/out/target/product/generic/system/lib/-L$SYSROOT/usr/lib -Wl,--gc-sections -nostdlib -lc -lm -ldl -llog -lgcc -Wl,--no-undefined,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker -L$NDK/out/target/product/generic/obj/lib/" 
export CFLAGS="-fno-exceptions -Wno-multichar -mthumb -mthumb-interwork -nostdlib -lc -ldl -lm -march=armv5te -mtune=xscale -msoft-float -mandroid -fPIC -mthumb-interwork -mthumb -mlong-calls -ffunction-sections -fstack-protector  -fno-short-enums -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -DANDROID -DOS_ANDROID -D__NEW__ -D__SGI_STL_INTERNAL_PAIR_H -I$SYSROOT/usr/include -I $A/system/core/include -I $NDKLIBS" 

./configure --host=arm-eabi --with-ssl=$A/external/openssl
Run Code Online (Sandbox Code Playgroud)

`输出摘要就是这个:

configure:配置为构建curl/libcurl:

  curl version:     7.26.0
  Host setup:       arm-unknown-eabi …
Run Code Online (Sandbox Code Playgroud)

android porting libcurl android-ndk

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

Android绘制模糊

我需要使用Blur效果在Android的Canvas上绘制,它是一个非常简单的功能,我需要绘制一个圆形区域,这是模糊的(前景)和背景透明,我可以做任何操作颜色alpha来做它自定义透明度,但我需要它模糊而不是透明..任何想法?

android canvas blur draw

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

openSSL使用Android的NDK问题

我有以下情况,我正在使用OpenSSL移植一个应用程序进行AES加密,我已经编译了所有内容,但链接器失败了.情况如下:1.我写了一个简单的JNI包装器:

private native String cipherString(String plainData, int datasize, String password, int passSize);
private native String decipherString(String cipheredData, int datasize, String password, int passSize);
Run Code Online (Sandbox Code Playgroud)

接下来我有一个c ++文件,我称之为具有正确的JNI sintax,它将jstring转换为char*和所有其他所需的转换,并调用另一个实际导入openssl头文件(存在并计入)的cpp文件并调用openssl方法用于加密和解密.

因此,当我调用ndk-build时,它会构建所有的拇指,因此编译器会正确编译它们.接下来我需要移植openssl for android,我使用这个OpenSSL for Android ,它的工作方式就像一个简单的ndk-build的char(在项目的根目录中,当然)并构建了libssl.so和libcrypto.so

所以我需要连接两个..我发现连接构建脚本是一个挑战,所以一个ndk-build编译并链接一切(如果有人有时间,我会很感激一个简单的示例项目)

所以我在jni/includes/prebuilt中复制了已编译的libssl和libcrypto .so文件,并希望将它们包含在项目中,以便链接器能够最终创建我将在最后使用的lib.

我有以下Android.mk文件

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/includes/build/common.mk
include $(LOCAL_PATH)/includes/build/common_includes.mk
APP_STL := gnustl_static

LOCAL_MODULE    := packer
LOCAL_SRC_FILES := modules/cipher/wrapper.cpp \
                    ... #rest of the cpp code

LOCAL_C_INCLUDES += $(LOCAL_PATH)/includes/openssl 
LOCAL_SHARED_LIBRARIES := $(LOCAL_PATH)/includes/precompiled/libssl.so \
            $(LOCAL_PATH)/includes/precompiled/libcrypto.so 
LOCAL_SHARED_MODULES := sslx cryptox
include $(BUILD_SHARED_LIBRARY)

LOCAL_PATH := $(call …
Run Code Online (Sandbox Code Playgroud)

android openssl android-ndk android-ndk-r7

3
推荐指数
1
解决办法
8903
查看次数

列出git/stash pull分支请求

我正在制作一个完整的Atlassian套件,jira stash/git和bamboo.

有谁知道是否有办法列出我当前分行的PR?

如果我当前的分支有一个打开的PR,我需要从shell中找到它,如果存在,则找到它的ID.无需创建pr,因为这将由开发人员完成.欢迎任何建议.

git bitbucket bamboo bitbucket-server

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