小编Ale*_*Wih的帖子

JAVAH找不到类(android ndk)

我需要javah和android-ndk的帮助.

我试图为我的本机方法生成H文件,但javah表示找不到类文件.

我的目标类有绝对名称$ PROJECT_DIRECTORY/src/bt/nativeclient/BtnativeActivity.java并包含以下代码:

package bt.nativeclient;

import android.app.Activity; import android.os.Bundle; import android.widget.TextView;

public class BtnativeActivity extends Activity  {
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        TextView  tv = new TextView(this);
        tv.setText( stringFromJNI() );
        setContentView(tv);
    }

    public native String stringFromJNI();

    static 
    {
        System.loadLibrary("hello-jni");
    } 
 }
Run Code Online (Sandbox Code Playgroud)

我尝试从以下pathes 启动javah:

$(PROJECT_DIRECTORY)/bin$ javah -jni bt.nativeclient.BtnativeActivity
$(PROJECT_DIRECTORY)/jni$ javah -jni bt.nativeclient.BtnativeActivity
$(PROJECT_DIRECTORY)$ javah -jni bt.nativeclient.BtnativeActivity
Run Code Online (Sandbox Code Playgroud)

我试着指定-classpath pathes:

$PROJECT_DIRECTORY/src$ javah -classpath :. bt.nativeclient.BtnativeActivity
Run Code Online (Sandbox Code Playgroud)

我试着在那里提到指定android.jar:

$PROJECT_DIRECTORY/bin$ …
Run Code Online (Sandbox Code Playgroud)

java android android-ndk javah

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

在 Android Studio 中,XML 布局中视图 ID 的“查找用法”操作不适用于 Android 视图绑定

Android 中的View Binding被大力提倡作为findViewById()Kotlin 扩展甚至是 Kotlin 扩展的更好替代品,但由于某种原因,最基本的功能,如View在 Android Studio 的布局编辑器中按其 ID搜索 a的用法不起作用。

即使在官方 Ach 组件示例存储库中的视图绑定示例中,它也不起作用。
我们这里有:

  1. XML布局fragment_blank.xml具有TextView与IDtextViewFragment如下:
<FrameLayout 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"
    tools:context=".InflateFragment">

    <TextView
        android:id="@+id/textViewFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="@string/hello_blank_fragment" />

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
  1. 使用视图绑定InflateFragment.kt将文本设置为此的片段TextView
override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        val binding = FragmentBlankBinding.inflate(inflater, container, false)
        fragmentBlankBinding = binding
        binding.textViewFragment.text = getString(R.string.hello_from_vb_inflatefragment)
        return …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-viewbinding

11
推荐指数
0
解决办法
238
查看次数

如何在Android SHELL中运行C++应用程序

我想运行hello world在C++上编写并编译Android toolchain 9,但我遇到了问题:默认情况下我没有权限启动它,我无法使用chmod`更改权限.

我用了 Android 2.3.3 - Api Level 10

应用程序由交叉编译器编译 API level 9

程序:

编译应用程序:

〜/ toolchain_andr9/bin/arm-linux-androideabi -g ++ helloworld.cpp

然后在模拟器上将应用程序发送到SDCARD:

>adb push a.out /mnt/sdcard
Run Code Online (Sandbox Code Playgroud)

然后去SHELL尝试运行a.out:

>adb shell
> 
>/mnt/sdcard/a.out
Run Code Online (Sandbox Code Playgroud)

结果是:

>`/mnt/sdcard/a.out: permission denied`
Run Code Online (Sandbox Code Playgroud)

命令ls -l显示以下权限a.out:

>`----rwxr-x system   sdcard_rw   863656 2012-04-12 22:42 a.out`
Run Code Online (Sandbox Code Playgroud)

我试图更改权限:

>chmod 777 /mnt/sdcard/a.out
Run Code Online (Sandbox Code Playgroud)

但权利不会改变:

>`----rwxr-x system   sdcard_rw   863656 2012-04-12 22:42 a.out`
Run Code Online (Sandbox Code Playgroud)

我想我已经使用android留下了一些重要的东西.

有人可以帮助我,并给我一个如何在`Android SHELL中运行应用程序的方法?

非常感谢.

对不起我的英文=)

shell android g++ android-ndk

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

如何在Android日期选择器对话框中禁用某些日期?

我使用的默认Android DatePickerDialog包含android.widget.DatePicker.

有人知道如何禁用或使某些日期无法选择吗?

我知道DatePicker允许setMinDate(),setMaxDate()但它不允许在中间禁用特定日期.

例如,在这张照片上想要禁用日期18,26等:

在此输入图像描述

android android-datepicker datepickerdialog

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

如何知道Fragment的输入过渡何时结束?

我有一个片段,它显示输入动画,我通过

this.setEnterTransition(transition);
Run Code Online (Sandbox Code Playgroud)

之后,我想显示另一个动画。但是我需要知道过渡动画何时结束才能开始第二个。

对于活动,有一个类似的回调,onEnterAnimationComplete()但是在Fragment的过渡结束时不会调用该回调。

有什么方法可以知道Fragment的输入过渡何时结束?

android android-animation android-fragments

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

在Android NDK中使用"dynamic_cast"时会出现"UnsatisfiedLinkError"

我是Android的新手,我遇到了下一个问题:当我使用使用"dynamic_cast"表达式的C++代码时- 当我在模拟器上启动应用程序时出现"UnsatisfiedLinkError".但是当我没有它运行应用程序时 - 一切正常(我的意思是没有任何错误到LogCat)

我试图在Android 2.3.3上运行它.我用的是android-ndk-r7b.

我的Application.mk:

APP_OPTIM := debug
APP_ABI := armeabi
APP_STL := gnustl_static
APP_MODULES := native_lab
Run Code Online (Sandbox Code Playgroud)

我的Android.mk:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := native_lab
LOCAL_SRC_FILES := native.cpp enum_if.cpp torrent.cpp
LOCAL_CPP_FEATURES := rtti exceptions
LOCAL_LDLIBS := -llog -lz \
    /home/l/android9_toolchain/arm-linux-androideabi/lib/libstdc++.a
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)
Run Code Online (Sandbox Code Playgroud)

使用动态强制转换的代码片段:

namespace libtorrent 
{
    template <class T>
    T* alert_cast(alert* a)
    {
        return dynamic_cast<T*>(a);
    }
}
.....

using namespace libtorrent;
if (torrent_finished_alert* p = alert_cast<torrent_finished_alert>(a)){}
Run Code Online (Sandbox Code Playgroud)

Log cat说:

03-27 07:28:26.465: …
Run Code Online (Sandbox Code Playgroud)

c++ android dynamic-cast dynamic android-ndk

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